Sobes.tech
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);
});