Встречается на собеседованиях • сегодня
Что такое future
`Future` в Java представляет результат асинхронной операции, который будет доступен в будущем. Это интерфейс из `java.util.concurrent`, позволяющий проверять статус задачи (`isDone()`), получать результат (`get()`, блокируя поток) или отменять выполнение (`cancel()`).
Пример:
```java
ExecutorService executor = Executors.newSingleThreadExecutor();
Future future = executor.submit(() -> {
Thread.sleep(1000);
return 42;
});
System.out.println("Задача выполняется...");
Integer result = future.get(); // Блокирует поток до завершения
System.out.println("Результат: " + result);
executor.shutdown();
```
**Нюансы:**
- `get()` без таймаута может привести к бесконечному ожиданию.
- `cancel(true)` прерывает поток, если задача уже началась.
- Для более гибкого управления используйте `CompletableFuture` (Java 8+).

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