У меня есть n-число Runnable
задач (не вызываемых), которые я выполняю с помощью ExecutorService.Эффективный способ дождаться завершения Runnable задач в ExecutorService
Я хочу дождаться завершения всех задач.
Я не могу использовать invokeAll
- потому что он работает для сбора Callables.
Я не могу использовать shutdown()+awaitTermination
, потому что awaittermination требует предоставить тайм-аут, но мои задачи могут занять несколько часов.
можно использовать:
ExecutorService.shutdown();
while (!ExecutorService.isTerminated()) {}
Но этот цикл будет всегда срабатывает.
Что предлагается в таком сценарии?
В моем посте я специально написал, почему я не могу его использовать. – yuris
Правильно, исправлен мой ответ –
В моей версии Java TimeUnit нет ЧАСОВ ИЛИ ДЕНЬ – yuris