Назад к вопросам
СБЕР
Junior — Middle
63
Каким образом можно извлечь значение из объекта Future в вашем приложении?
Компании, где спрашивали
Ответ от нейросети
sobes.tech AI
В Java для извлечения значения из объекта Future используется метод get(). Этот метод блокирует текущий поток до тех пор, пока вычисление не завершится, и возвращает результат. Если вычисление завершилось с исключением, get() выбросит ExecutionException.
Пример:
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();
Также есть метод get(long timeout, TimeUnit unit), который позволяет задать максимальное время ожидания результата.