Middle
Milleks on mõeldud Java Future ja CompletableFuture klassid?
sobes.tech AI
Vastus AI-lt
Java klassid Future ja CompletableFuture on mõeldud töötama asünkroonsete arvutuste tulemuste töötlemiseks.
-
Future esindab tulevikus kättesaadavat tulemust. Future abil saate kontrollida, kas arvutus on lõppenud, saada tulemuse (meetod get blokeerib niidi, kui tulemus pole veel valmis) või tühistada ülesande.
-
CompletableFuture laiendab Future võimalusi, pakkudes mugavat API-d asünkroonsete operatsioonide koostamiseks, tulemuste töötlemiseks ilma blokeerimiseta, kutsungite ahelateks ja erandite käsitlemiseks. See toetab funktsionaalseid meetodeid nagu thenApply, thenAccept, thenCompose ja teisi, mis lihtsustavad keerukate asünkroonsete stsenaariumide loomist.
Näide — CompletableFuture kasutamine:
CompletableFuture.supplyAsync(() -> {
// Pikk operatsioon
return "Tulemus";
}).thenApply(result -> {
// Tulemuse töötlemine
return result.toUpperCase();
}).thenAccept(finalResult -> {
System.out.println(finalResult);
});