Middle
Para que servem as classes Future e CompletableFuture em Java?
sobes.tech IA
Resposta da IA
As classes Future e CompletableFuture em Java são destinadas a trabalhar com resultados de cálculos assíncronos.
-
Future representa um resultado que estará disponível no futuro. Com Future, pode verificar se o cálculo foi concluído, obter o resultado (o método get bloqueia a thread se o resultado ainda não estiver pronto) ou cancelar a tarefa.
-
CompletableFuture amplia as capacidades do Future, fornecendo uma API conveniente para compor operações assíncronas, tratar resultados sem bloqueios, encadear chamadas e tratar exceções. Ele suporta métodos funcionais como thenApply, thenAccept, thenCompose e outros, facilitando a construção de cenários assíncronos complexos.
Exemplo de uso do CompletableFuture:
CompletableFuture.supplyAsync(() -> {
// Operação longa
return "Resultado";
}).thenApply(result -> {
// Processamento do resultado
return result.toUpperCase();
}).thenAccept(finalResult -> {
System.out.println(finalResult);
});