Если я использую Executors.newSingleThreadExecutor()
, чтобы получить ExecutorService
, могу ли я установить тайм-аут для выполнения каждой из Runnables? Если нет, есть ли значение по умолчанию? Или будет заблокирован поток, если одна из runnables занимает много времени для выполнения?Можно ли установить тайм-аут для ExecutorService, если он создан с использованием объекта Executors?
Я прочитал андроид документацию, но это не совсем понятно, для меня (от Executors.newSingleThreadExecutor() Android ссылки):
Создает Исполнитель, который использует один рабочий поток, работающий от неограниченной очереди. (Обратите внимание, что если этот единственный поток завершается из-за сбоя во время выполнения до выключения, новый, если потребуется, будет занят, чтобы выполнять последующие задачи.) Гарантируется выполнение задач последовательно и не более одной задачи будет активна в любой момент времени. В отличие от эквивалентного newFixedThreadPool (1), возвращенный исполнитель гарантированно не может быть перенастроен для использования дополнительных потоков.
Спасибо за указание на использование фьючерсов. – JAC