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);
});