Описание тега futuretask
Отменяемое асинхронное вычисление. Этот класс предоставляет базовую реализацию Future с методами для запуска и отмены вычисления, запроса, чтобы узнать, завершено ли вычисление, и получения результата вычисления. Результат можно получить только после завершения вычислений; метод get заблокируется, если вычисление еще не завершено. После завершения вычисления вычисление не может быть перезапущено или отменено.
FutureTask можно использовать для обертывания объекта Callable или Runnable. Поскольку FutureTask реализует Runnable, FutureTask может быть отправлен исполнителю для выполнения.
Помимо того, что этот класс служит автономным классом, он предоставляет защищенные функции, которые могут быть полезны при создании настраиваемых классов задач. источник.