Comment mettre en œuvre un ExecutorService pour exécuter des tâches sur une rotation de base?

Je suis en utilisant java.util.de façon concomitante.ExecutorService avec fixe pool de threads pour exécuter la liste de tâches. Ma liste de tâches va généralement être autour de 80 - 150 et j'ai limité le nombre de threads en cours d'exécution à tout moment à 10, comme illustré ci-dessous:

ExecutorService threadPoolService = Executors.newFixedThreadPool(10);

for ( Runnable task : myTasks ) 
{     
    threadPoolService.submit(task); 
}

Mon cas d'utilisation exige que, même de la tâche réalisée doit être à nouveau soumis à nouveau à la ExecutorService mais il doit être exécuté/pris à nouveau que lorsque tous les déjà soumis tâches sont desservies/terminé. C'est essentiellement, les tâches soumis doit être exécuté sur une rotation de base. Par conséquent, il n'y aura pas soit threadPoolService.shutdown() ou threadPoolService.shutdownNow() appel dans ce cas.

Ma question est, comment puis-je mettre en œuvre ExecutorService l'entretien de la rotation de base des tâches?

InformationsquelleAutor Gnanam | 2012-04-27