Courir le 100 threads en parallèle et courir manquant fils si certains sont finis

Par exemple, j'ai besoin de toujours courir le 100 threads pour faire une action.
J'ai une classe appelée ThreadsWorker qui cherche les fils de comte et pistes manquantes threads si certains sont finis.
Donc, c'est le tableau qui décrit la situation:

1 second: 100 threads
2 second: 92 threads (ThreadsWorker generates new 8 threads)
3 second: 100 theads
4 second: 72 threads (ThreadsWorker generates 28 threads)

Et ainsi de suite.
Mes fils sont des appels anonymes (juste new Thread(new Runnable(...)).start()) parce que je ne sais pas comment faire pour enregistrer correctement à Threads[] tableau car, tandis que ThreadsWorker permettra d'économiser threads[i] = new Threads(), certains threads peut être fini, et puis il y aura des collisions avec les indices de tableau.

Parce que des appels anonymes-je utiliser threadsCount variable est maintenant et l'incrémenter dans les threads corps de début et diminue dans les fils d'extrémité du corps (à l'aide de synchronized). Ok, il fonctionne correctement et que mon seul moyen est d'utiliser while() boucle qui vérifie si threadsCount == 0 lorsque l'opération est terminée.

Je pense que c'est en C mais pas en Java 🙂 oui, pouvez-vous m'aider à le faire en Java?

OriginalL'auteur Clark | 2011-04-01