Sobes.tech
Middle

Na co jsou ve Java určeny třídy Future a CompletableFuture?

sobes.tech AI

Odpověď od AI

Třídy Future a CompletableFuture v Javě jsou určeny pro práci s výsledky asynchronních výpočtů.

  • Future představuje výsledek, který bude dostupný v budoucnu. Pomocí Future lze zkontrolovat, zda výpočet skončil, získat výsledek (metoda get blokuje vlákno, pokud výsledek ještě není připraven) nebo zrušit úlohu.

  • CompletableFuture rozšiřuje možnosti třídy Future a poskytuje pohodlné API pro skládání asynchronních operací, zpracování výsledků bez blokování, řetězení volání a zpracování výjimek. Podporuje funkční metody jako thenApply, thenAccept, thenCompose a další, což usnadňuje tvorbu složitých asynchronních scénářů.

Příklad použití CompletableFuture:

CompletableFuture.supplyAsync(() -> {
    // Dlouhá operace
    return "Výsledek";
}).thenApply(result -> {
    // Zpracování výsledku
    return result.toUpperCase();
}).thenAccept(finalResult -> {
    System.out.println(finalResult);
});