Sobes.tech
Back to questions
Junior — Middle
62

Каким образом можно извлечь значение из объекта Future в вашем приложении?

Companies where asked
СБЕРСБЕР

Answer from AI

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), который позволяет задать максимальное время ожидания результата.