Como esperar que todos os tópicos terminem usando o ExecutorService?
Eu preciso executar uma quantidade de tarefas 4 por vez, algo assim:
ExecutorService taskExecutor = Executors.newFixedThreadPool(4);
while(...) {
taskExecutor.execute(new MyTask());
}
//...wait for completion somehow
Como posso ser notificado quando todos estiverem concluídos? Por enquanto, não consigo pensar em nada melhor do que configurar um contador de tarefas globais e diminuí-lo no final de cada tarefa. Em seguida, monitore em loop infinito esse contador para se tornar 0; ou obter uma lista de futuros e no monitor de loop infinito é feito para todos eles. Quais são as melhores soluções que não envolvem loops infinitos?
Obrigado.