¿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);
});