Sobes.tech
Middle

Zašto su klase Future i CompletableFuture namenjene u Javi?

sobes.tech АИ

Одговор од АИ

Klase Future i CompletableFuture u Javi su namenjene za rad sa rezultatima asinhronih izračuna.

  • Future predstavlja rezultat koji će biti dostupan u budućnosti. Pomoću Future možete proveriti da li je izračun završen, dobiti rezultat (metod get blokira nit ako rezultat još nije spreman) ili otkazati zadatak.

  • CompletableFuture proširuje mogućnosti Future, pružajući zgodan API za sastavljanje asinhronih operacija, obradu rezultata bez blokiranja, lančanje poziva i obradu izuzetaka. Podržava funkcionalne metode kao što su thenApply, thenAccept, thenCompose i druge, što olakšava izgradnju složenih asinhronih scenarija.

Primer korišćenja CompletableFuture:

CompletableFuture.supplyAsync(() -> {
    // Duga operacija
    return "Rezultat";
}).thenApply(result -> {
    // Obrada rezultata
    return result.toUpperCase();
}).thenAccept(finalResult -> {
    System.out.println(finalResult);
});