Класс Future представляет результат асинхронной операции. Он позволяет получить значение после его вычисления, проверить, завершена ли операция, дождаться ее завершения или отменить ее. Это ключевой элемент для неблокирующих операций в многопоточных приложениях.
Основные методы:
get(): Ждет завершения операции и возвращает результат. Блокирующий вызов.get(long timeout, TimeUnit unit): Ждет завершения операции с таймаутом. Может выбросить TimeoutException.isDone(): Возвращает true, если операция завершена (успешно, с ошибкой или отменена).isCancelled(): Возвращает true, если операция была отменена.cancel(boolean mayInterruptIfRunning): Пытается отменить выполнение задачи.Пример использования:
java
Future часто используется совместно с ExecutorService для управления пулом потоков и выполнения задач асинхронно. Он обеспечивает удобный способ взаимодействия с результатами параллельных вычислений.