Como implementar um ExecutorService para executar tarefas em uma base de rotação?
estou a usarjava.util.concurrent.ExecutorService compiscina de rosca fixa para executar lista de tarefas. Minha lista de tarefas normalmente será em torno de 80 - 150 e limitei o número de threads em execução a qualquer momento para 10, conforme mostrado abaixo:
<code>ExecutorService threadPoolService = Executors.newFixedThreadPool(10); for ( Runnable task : myTasks ) { threadPoolService.submit(task); } </code>
Meu caso de uso exige que até mesmo a tarefa concluída seja novamente submetida aoExecutorService mas só deve ser executado / retomado quando todos osjá as tarefas enviadas são atendidas / concluídas. Basicamente, as tarefas enviadas devem ser executadas em rodízio. Portanto, não haveráthreadPoolService.shutdown()
outhreadPoolService.shutdownNow()
ligue neste caso.
Minha pergunta é, como faço para implementarExecutorService manutenção de tarefas de base rotativa?