Concurrency Intermédiaire

Enchaîne des opérations asynchrones sans blocage avec CompletableFuture.

✕ Pre-Java 8
Future<String> future =
    executor.submit(this::fetchData);
String data = future.get(); // blocks
String result = transform(data);
✓ Java 8+
CompletableFuture.supplyAsync(
    this::fetchData
)
.thenApply(this::transform)
.thenAccept(IO::println);
Un problème avec ce code ? Dites-le nous.
🔗

Enchaînable

Composez des étapes asynchrones dans un pipeline lisible.

🚫

Sans blocage

Aucun thread ne reste inactif en attendant les résultats.

🛡️

Gestion des erreurs

exceptionally() et handle() pour une récupération propre des erreurs.

Ancienne Approche
Future.get() bloquant
Approche Moderne
CompletableFuture
Depuis JDK
8
Difficulté
Intermédiaire
Chaînage avec CompletableFuture
Disponible

Disponible depuis JDK 8 (mars 2014)

CompletableFuture permet des pipelines asynchrones non bloquants. Enchaînez les opérations avec thenApply, thenCompose, thenAccept. Gérez les erreurs avec exceptionally(). Combinez plusieurs futurs avec allOf/anyOf.

Partager 𝕏 🦋 in