Middle
Na čo sú v Jave určené triedy Future a CompletableFuture?
sobes.tech AI
Odpoveď od AI
Triedy Future a CompletableFuture v Jave sú určené na prácu s výsledkami asynchrónnych výpočtov.
-
Future predstavuje výsledok, ktorý bude dostupný v budúcnosti. Pomocou Future môžete skontrolovať, či výpočet skončil, získať výsledok (metóda get blokuje vlákno, ak výsledok ešte nie je pripravený) alebo zrušiť úlohu.
-
CompletableFuture rozširuje možnosti triedy Future a poskytuje pohodlné API na skladanie asynchrónnych operácií, spracovanie výsledkov bez blokovania, reťazenie volaní a spracovanie výnimiek. Podporuje funkčné metódy ako thenApply, thenAccept, thenCompose a ďalšie, čo uľahčuje tvorbu zložitých asynchrónnych scenárov.
Príklad použitia CompletableFuture:
CompletableFuture.supplyAsync(() -> {
// Dlhá operácia
return "Výsledok";
}).thenApply(result -> {
// Spracovanie výsledku
return result.toUpperCase();
}).thenAccept(finalResult -> {
System.out.println(finalResult);
});