Назад к вопросам
Junior — Middle
66
Какова роль класса Future в Java и зачем он предназначен?
Компании, где спрашивали
ООО Антара
Ответ от нейросети
sobes.tech AI
Класс Future в Java представляет собой результат асинхронной операции, которая может завершиться в будущем. Он предназначен для:
- Получения результата вычисления, которое выполняется в другом потоке.
- Проверки, завершена ли операция (
isDone()), или была ли отменена (isCancelled()). - Возможности отменить выполнение задачи (
cancel()).
Используется вместе с ExecutorService для управления асинхронными задачами. Например, можно отправить задачу на выполнение и продолжить работу, а потом получить результат, когда он будет готов.
Пример:
ExecutorService executor = Executors.newSingleThreadExecutor();
Future<Integer> future = executor.submit(() -> {
Thread.sleep(1000); // имитация долгой операции
return 42;
});
// Можно выполнять другие действия здесь
try {
Integer result = future.get(); // блокируется, пока результат не будет готов
System.out.println("Результат: " + result);
} catch (InterruptedException | ExecutionException e) {
e.printStackTrace();
}
executor.shutdown();