Sobes.tech
Middle

Pentru ce sunt destinate clasele Future și CompletableFuture în Java?

sobes.tech AI

Răspuns de la AI

Clasele Future și CompletableFuture în Java sunt destinate să lucreze cu rezultatele calculului asincron.

  • Future reprezintă un rezultat care va fi disponibil în viitor. Cu Future, poți verifica dacă calculul s-a încheiat, obține rezultatul (metoda get blochează firul dacă rezultatul nu este încă gata) sau anula sarcina.

  • CompletableFuture extinde capacitățile Future, oferind o API convenabilă pentru compunerea operațiunilor asincrone, procesarea rezultatelor fără blocare, lanțuri de apeluri și gestionarea excepțiilor. Suportă metode funcționale precum thenApply, thenAccept, thenCompose și altele, facilitând construirea scenariilor asincrone complexe.

Exemplu de utilizare a CompletableFuture:

CompletableFuture.supplyAsync(() -> {
    // Operație lungă
    return "Rezultat";
}).thenApply(result -> {
    // Procesarea rezultatului
    return result.toUpperCase();
}).thenAccept(finalResult -> {
    System.out.println(finalResult);
});