Java FutureTask. Краткое описание и пример использования

Java FutureTask. Краткое описание и пример использования

В прошлом уроке мы разобрали что такое Java Collable Future и как его эффективно использовать в своих программах. Сегодня у нас на очереди Java FutureTask: небольшая теория и пример использования.

FutureTask базируется на конкретной реализации Future интерфейса и обеспечивает асинхронную обработку. Он содержит методы для запуска и отмены таска, а также методы получения состояния FutureTask. Нам нужен callable объект для создания future таска, а затем мы можем использовать Java Thread Pool Executor для асинхронной обработки.

Давайте посмотрим FutureTask в работе на примере простой программы.

На примере ниже представлены часто используемые методы FutureTask в действии:

Когда мы запустим представленную выше программу, то она ничего не будет выводить в консоль в течение некоторого времени. Все дело в том, что метод get() класса FutureTask ждет полного выполнения задачи и лишь затем возвращает объект с результатом выполнения.

Также существует перегруженный метод, который ждет только определенное время — мы использовали его для futureTask2.

Также обратите внимание на использование метода isDone(), который используется для того, чтобы убедиться в успешном выполнении всех задач и что программа завершена.

Результат выполнения программы:

Обязательно ознакомьтесь с Java Callable и следите за обновлениями раздела Многопоточность и параллелизм в Java.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *