Economise le temps machine

Résolu
maddoc2 Messages postés 8 Date d'inscription jeudi 26 août 2004 Statut Membre Dernière intervention 28 octobre 2004 - 10 sept. 2004 à 21:47
cs_AlexMAN Messages postés 1536 Date d'inscription samedi 21 décembre 2002 Statut Membre Dernière intervention 24 mai 2009 - 11 sept. 2004 à 13:09
Bonsoir,

Je suis en train de développer une application sous Windows dans laquelle des données à collecter ont deux origines possibles. Chaque origine possède son propre thread de traitement. Une origine peut avoir plusieurs sources.

Ces deux premiers threads sont chapeautés par un troisième thread. C'est là que commencez mes ennuis. En effet, ce troisième thread passe sont temps à attendre que les deux threads collecteur fournissent des données et du coup, il grignote tout le temps machine disponible.

Je cherche une manière élégante de faire hiberner ce thread jusqu’à ce qu’un des threads collecteurs le réveil.

Dernière exigence, je voudrais une méthode qui puisse trouver un équivalent sous GNU/Linux.

D'avance merci

Maddoc

3 réponses

cs_AlexMAN Messages postés 1536 Date d'inscription samedi 21 décembre 2002 Statut Membre Dernière intervention 24 mai 2009 1
10 sept. 2004 à 22:08
Il faut utiliser les api WaitForSingleObject() ou WaitForMultipleObject(), c ce ke tu as utilisé ?
Sinon, un conseil, surtt pas de boucle avec les threads.
3
cs_AlexMAN Messages postés 1536 Date d'inscription samedi 21 décembre 2002 Statut Membre Dernière intervention 24 mai 2009 1
11 sept. 2004 à 13:09
J'ai cherché rapidement, et voila un lien :

http://perso.wanadoo.fr/patrick.deiber/pub/processus-leger.pdf

Je ne suis pas sur qu'il conviendra, mais je l'espere.
Voila,

++
3
maddoc2 Messages postés 8 Date d'inscription jeudi 26 août 2004 Statut Membre Dernière intervention 28 octobre 2004
11 sept. 2004 à 08:13
OK pour WaitForMultipleObject(), j'ai cherché dans ce sens et voilà les fonctions que je pense utiliser :

CreateEvent, ResetEvent, SetEvent & WaitForMultipleObject.

Maintenant, je me demande s'il existe quelque chose de similaire sous GNU/Linux ?

D'avance merci

Maddoc
0
Rejoignez-nous