2010-07-12 3 views

Répondre

0

Ma solution était d'utiliser piège ("CLD"), pour piéger SIGCLD chaque fois qu'un processus de l'enfant a terminé et diminuer le compteur (un variable globale) des processus en cours d'exécution.

1

Une bonne question, mais je ne pense pas qu'il existe une telle méthode dans Ruby, du moins pas dans la bibliothèque standard. Il y a beaucoup de gemmes là-bas ....

Ce problème ressemble à un travail pour la classe Mutex. Recherchez la section Variables de conditions here sur la façon d'utiliser les mutex de Ruby.

+0

Merci, votre lien m'a indiqué la bonne réponse. – giancarlo

0

J'ai généralement un Queue de tâches à effectuer, et puis avoir un couple de threads consommant des tâches jusqu'à ce qu'ils reçoivent un élément indiquant la fin du travail. Il y a un exemple dans "Programming Ruby" sous la librairie Thread. (Je ne suis pas sûr si je devrais copier et coller l'exemple à Stack Overflow - désolé)

Questions connexes