Встречается на собеседованиях • сегодня
В чем разница между Future, FutureTask и CompletableFuture
Future - интерфейс для асинхронных вычислений, предоставляющий методы для проверки статуса (isDone()), получения результата (get()) и отмены (cancel()). Основной недостаток - отсутствие callback-механизма.
FutureTask - конкретная реализация Future + Runnable, позволяющая выполнять задачу в отдельном потоке. Можно передать Callable или Runnable в конструктор.
CompletableFuture - расширенная версия Future (Java 8+), поддерживающая цепочки вызовов и комбинирование асинхронных операций через методы thenApply(), thenAccept(), thenCombine() и др. Позволяет явно завершать future (complete()).
Пример:
java
CompletableFuture.supplyAsync(() -> "Hello")
.thenApply(s -> s + " World")
.thenAccept(System.out::println);Ключевые отличия:
CompletableFutureподдерживает неблокирующие callback-и- Позволяет комбинировать несколько future
- Имеет богатый API для асинхронной обработки
- Поддерживает ручное завершение

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы