[C++] boost & semaphore [ solution boost::condition ]

boost & semaphore [ solution boost::condition ] [C++] - C++ - Programmation

Marsh Posté le 29-10-2004 à 18:20:59    

boost.threads offre un mutex sur. Existe-t-il un sémaphore dans cette librairie ou une autre pour win32. Sinon, existe-t-il un autre moyen d'implémenter un sémaphore en évitant d'utiliser directement les appels CreateSemaphore, ReleaseSemaphore, WaitForSingleObject de win32 ?


Message édité par xterminhate le 29-10-2004 à 18:47:19

---------------
Cordialement, Xterm-in'Hate...
Reply

Marsh Posté le 29-10-2004 à 18:20:59   

Reply

Marsh Posté le 29-10-2004 à 18:28:29    

Pour quoi faire à tu besoin d'un sémaphore ?
C'est assez rare d'avoir besoin de ça au fond (les variables conditionnelles marchent mieux, et correspondent généralement au besoin).
 
Si tu as besoin que au moins 2 ressources ou conditions soient disponibles pour pouvoir continuer ton truc, alors tu as besoin d'un sémaphore.  
 
Mais si tu as juste besoin que 1 ou plusieurs threads avertissent une autre qu'elles ont fini leur travail ou bien qu'elles ont fourni des données dans une P-C Queue, alors une variable conditionnelle suffit.

Reply

Marsh Posté le 29-10-2004 à 18:31:43    

Dans ce cas, une variable conditionnelle répond à mon besoin ! J'admets ne pas connaitre... on m'aurait encore caché qqchose ! :jap:


---------------
Cordialement, Xterm-in'Hate...
Reply

Marsh Posté le 29-10-2004 à 18:35:38    

Fais juste gaffe : par design, une conditional variable est associée à un mutex. Si tu le souhaites, tu peux ignorer ce mutex (à condition de le locker et delocker comme te le demande l'api des conditional variables):
   http://www.boost.org/libs/thread/doc/condition.htm
 
Mais si tu le peux, essaye de faire correspondre ce mutex à ta "resource" (que ce soit une PC-Queue, l'accès à la zone de dessin, etc.).  
 
Ca rendra ton code beaucoup plus élégant.

Reply

Marsh Posté le 29-10-2004 à 18:43:16    

Reply

Marsh Posté le 29-10-2004 à 18:44:56    

Effectivement boost pense à tout ! Merci pour le lien et les conseils. :)


---------------
Cordialement, Xterm-in'Hate...
Reply

Marsh Posté le 29-10-2004 à 18:46:14    


 
Ca a le mérite d'être clair ! Merci.


---------------
Cordialement, Xterm-in'Hate...
Reply

Marsh Posté le 29-10-2004 à 18:53:06    

c'est surtout les dates qui font peur :)

Reply

Marsh Posté le 29-10-2004 à 19:06:05    

Oui, terrible ! Déjà obsolète à cette époque.... et moi qui trouvait ca "tendance" !


---------------
Cordialement, Xterm-in'Hate...
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed