Sobes.tech
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);
});