Middle
Kokia yra Future ir CompletableFuture klasių paskirtis Java?
sobes.tech AI
Atsakymas iš AI
„Java“ klasės Future ir CompletableFuture skirtos dirbti su asinchroninių skaičiavimų rezultatais.
-
Future atstovauja rezultatą, kuris bus prieinamas ateityje. Naudodami Future, galite patikrinti, ar skaičiavimas baigėsi, gauti rezultatą (metodas get blokuoja srautą, jei rezultatas dar nėra paruoštas) arba atšaukti užduotį.
-
CompletableFuture išplečia Future galimybes, siūlydama patogų API asinchroninių operacijų komponavimui, rezultatų apdorojimui be blokavimo, kvietimų grandinėjimui ir išimčių valdymui. Ji palaiko funkcinius metodus kaip thenApply, thenAccept, thenCompose ir kitus, kurie palengvina sudėtingų asinchroninių scenarijų kūrimą.
Naudojimo pavyzdys — CompletableFuture:
CompletableFuture.supplyAsync(() -> {
// Ilga operacija
return "Rezultatas";
}).thenApply(result -> {
// Rezultato apdorojimas
return result.toUpperCase();
}).thenAccept(finalResult -> {
System.out.println(finalResult);
});