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