Back to questions
Junior — Middle
63
Какова основная роль интерфейса Future в программировании?
Answer from AI
sobes.tech AI
Интерфейс Future в Java представляет собой механизм для работы с результатом асинхронной операции. Его основная роль — предоставить способ получить результат вычисления, которое выполняется в другом потоке, и при этом не блокировать основной поток до тех пор, пока результат не будет готов.
С помощью Future можно:
- Проверить, завершилась ли асинхронная задача (
isDone()) - Отменить выполнение задачи (
cancel()) - Получить результат, ожидая его готовности (
get())
Пример использования:
ExecutorService executor = Executors.newSingleThreadExecutor();
Future<Integer> future = executor.submit(() -> {
Thread.sleep(1000); // имитация долгой операции
return 42;
});
// Можно выполнять другие задачи, пока результат не готов
System.out.println("Задача запущена");
// Получение результата (блокирует, если результат ещё не готов)
Integer result = future.get();
System.out.println("Результат: " + result);
executor.shutdown();