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);
});