Concurrency Intermediário

Encadeie operações assíncronas sem bloquear, usando 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);
Viu um problema com este código? Nos avise.
🔗

Encadeável

Componha etapas assíncronas em um pipeline legível.

🚫

Sem bloqueio

Nenhuma thread fica ociosa esperando resultados.

🛡️

Tratamento de erros

exceptionally() e handle() para recuperação limpa de erros.

Abordagem Antiga
Future.get() bloqueante
Abordagem Moderna
CompletableFuture
Desde o JDK
8
Dificuldade
Intermediário
Encadeamento com CompletableFuture
Disponível

Amplamente disponível desde o JDK 8 (março de 2014)

CompletableFuture permite pipelines assíncronos sem bloqueio. Encadeie operações com thenApply, thenCompose e thenAccept. Trate erros com exceptionally(). Combine múltiplos futures com allOf/anyOf.

Compartilhar 𝕏 🦋 in