Come parallelizzare le attività e unire i risultati con
CompletableFuture: unione di due risultati tramite
thenCombine/
thenCombineAsync, attesa di un insieme di attività tramite
allOf, reazione alla risposta più veloce tramite
anyOf. Analizzeremo le firme, esempi pratici con
supplyAsync, l’elaborazione non bloccante (
thenAccept,
thenRun), nonché le sottigliezze degli errori e la loro gestione (
exceptionally,
handle,
whenComplete). Alla fine — una tabella compatta di confronto dei metodi.