Middle
A cosa servono le classi Future e CompletableFuture in Java?
sobes.tech AI
Risposta dell'AI
Le classi Future e CompletableFuture in Java sono progettate per lavorare con i risultati di calcoli asincroni.
-
Future rappresenta un risultato che sarà disponibile in futuro. Con Future, puoi verificare se il calcolo è terminato, ottenere il risultato (il metodo get blocca il thread se il risultato non è ancora pronto) o annullare il task.
-
CompletableFuture estende le capacità di Future, fornendo un'API comoda per comporre operazioni asincrone, gestire risultati senza blocchi, catene di chiamate e gestione delle eccezioni. Supporta metodi funzionali come thenApply, thenAccept, thenCompose e altri, facilitando la costruzione di scenari asincroni complessi.
Esempio di utilizzo di CompletableFuture:
CompletableFuture.supplyAsync(() -> {
// Operazione lunga
return "Risultato";
}).thenApply(result -> {
// Elaborazione del risultato
return result.toUpperCase();
}).thenAccept(finalResult -> {
System.out.println(finalResult);
});