Sobes.tech
Middle

Kādēļ Java paredzētas klases Future un CompletableFuture?

sobes.tech AI

Atbilde no AI

Java klasēs Future un CompletableFuture ir paredzētas darbam ar asinhronajiem aprēķinu rezultātiem.

  • Future pārstāv rezultātu, kas būs pieejams nākotnē. Ar Future palīdzību jūs varat pārbaudīt, vai aprēķins ir pabeigts, iegūt rezultātu (metode get bloķē pavedienu, ja rezultāts vēl nav gatavs) vai atcelt uzdevumu.

  • CompletableFuture paplašina Future iespējas, nodrošinot ērtu API asinhrono operāciju sastādīšanai, rezultātu apstrādei bez bloķēšanas, zvanu ķēžu veidošanai un izņēmumu pārvaldībai. Tā atbalsta funkcionālas metodes kā thenApply, thenAccept, thenCompose un citas, kas atvieglo sarežģītu asinhrono scenāriju veidošanu.

Piemērs — CompletableFuture izmantošanai:

CompletableFuture.supplyAsync(() -> {
    // Ilga operācija
    return "Rezultāts";
}).thenApply(result -> {
    // Rezultāta apstrāde
    return result.toUpperCase();
}).thenAccept(finalResult -> {
    System.out.println(finalResult);
});