Есть ли способ определить отсутствие ожидающих задач в очереди и все ли потоки были завершены для java.util.concurrent.ThreadPoolExecutor
?
Теперь я делаю это в хуке afterExecute
, проверяя getActiveCount
и getQueue
, но это не надежно.
Поскольку новые задачи динамически генерируются и помещаются в очередь старыми задачами, невозможно зафиксировать общее количество будущих заданий.
Большое спасибо.