Sobes.tech
Middle

¿Para qué sirven las clases Future y CompletableFuture en Java?

sobes.tech AI

Respuesta de la IA

Las clases Future y CompletableFuture en Java están diseñadas para trabajar con resultados de cálculos asíncronos.

  • Future representa un resultado que estará disponible en el futuro. Con Future, puedes verificar si el cálculo ha finalizado, obtener el resultado (el método get bloquea el hilo si el resultado aún no está listo) o cancelar la tarea.

  • CompletableFuture amplía las capacidades de Future, proporcionando una API conveniente para componer operaciones asíncronas, manejar resultados sin bloqueos, cadenas de llamadas y manejo de excepciones. Admite métodos funcionales como thenApply, thenAccept, thenCompose y otros, lo que facilita la construcción de escenarios asíncronos complejos.

Ejemplo de uso de CompletableFuture:

CompletableFuture.supplyAsync(() -> {
    // Operación larga
    return "Resultado";
}).thenApply(result -> {
    // Procesamiento del resultado
    return result.toUpperCase();
}).thenAccept(finalResult -> {
    System.out.println(finalResult);
});