Назад к вопросам
Middle
347
Для чего предназначены классы Future и CompletableFuture в Java?
Ответ от нейросети
sobes.tech AI
Классы Future и CompletableFuture в Java предназначены для работы с результатами асинхронных вычислений.
-
Future представляет собой результат, который будет доступен в будущем. С помощью Future можно проверить, завершилось ли вычисление, получить результат (метод get блокирует поток, если результат еще не готов) или отменить задачу.
-
CompletableFuture расширяет возможности Future, предоставляя удобный API для композиции асинхронных операций, обработки результатов без блокировок, цепочек вызовов и обработки исключений. Он поддерживает функциональные методы, такие как thenApply, thenAccept, thenCompose и другие, что облегчает построение сложных асинхронных сценариев.
Пример использования CompletableFuture:
CompletableFuture.supplyAsync(() -> {
// Долгая операция
return "Результат";
}).thenApply(result -> {
// Обработка результата
return result.toUpperCase();
}).thenAccept(finalResult -> {
System.out.println(finalResult);
});