J'ai une liste/liste d'attente de 200 commandes que j'ai besoin pour s'exécuter dans un shell sur un serveur Linux.
Je ne veux avoir un maximum de 10 processus en cours d'exécution (à partir de la file d'attente) à la fois. Certains processus prend quelques secondes, d'autres processus prendra beaucoup plus de temps.
Lorsqu'un processus est terminé, je veux que la prochaine commande pour être "sauté" à partir de la file d'attente et exécuté.
Quelqu'un aurait-il le code pour résoudre ce problème?
La poursuite de l'élaboration:
Il y a 200 pièces de travail qui doit être fait, dans une file d'attente de quelque sorte. Je veux avoir au plus 10 pièces de des travaux en cours à la fois. Lorsqu'un thread termine un morceau de travail, il doit demander à la file d'attente pour le prochain morceau de travail. Si il n'y a plus de travail dans la file d'attente, le fil doit mourir. Lorsque tous les fils sont morts il désigne l'ensemble du travail a été fait.
Le réel problème, je vais essayer de résoudre utilise imapsync
pour synchroniser 200 boîtes aux lettres à partir d'un vieux serveur de messagerie vers un nouveau serveur de messagerie. Certains utilisateurs ont de grandes boîtes aux lettres et de prendre du temps pour la synchronisation, d'autres ont de très petites boîtes aux lettres et de synchroniser rapidement.