Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
737 connectés 

  FORUM HardWare.fr
  Programmation
  C++

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

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

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

n°886063
xterminhat​e
Si vis pacem, para bellum.
Posté le 29-10-2004 à 18:20:59  profilanswer
 

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...
mood
Publicité
Posté le 29-10-2004 à 18:20:59  profilanswer
 

n°886072
Lam's
Profil: bas.
Posté le 29-10-2004 à 18:28:29  profilanswer
 

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.

n°886077
xterminhat​e
Si vis pacem, para bellum.
Posté le 29-10-2004 à 18:31:43  profilanswer
 

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...
n°886081
Lam's
Profil: bas.
Posté le 29-10-2004 à 18:35:38  profilanswer
 

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.

n°886086
Taz
bisounours-codeur
Posté le 29-10-2004 à 18:43:16  profilanswer
 
n°886089
xterminhat​e
Si vis pacem, para bellum.
Posté le 29-10-2004 à 18:44:56  profilanswer
 

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


---------------
Cordialement, Xterm-in'Hate...
n°886090
xterminhat​e
Si vis pacem, para bellum.
Posté le 29-10-2004 à 18:46:14  profilanswer
 


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


---------------
Cordialement, Xterm-in'Hate...
n°886091
Taz
bisounours-codeur
Posté le 29-10-2004 à 18:53:06  profilanswer
 

c'est surtout les dates qui font peur :)

n°886098
xterminhat​e
Si vis pacem, para bellum.
Posté le 29-10-2004 à 19:06:05  profilanswer
 

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


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

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C++

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

 

Sujets relatifs
Winsock et Threads (Boost) : Problème[RESOLU] problème de condition sur un requête SQL
Anagrammes, solution efficace pour les trouver ?[sql] condition que je n'arrive pas à exprimer
Condition et strcmpThread ou autre solution?
[SQL] selection des donnees qui ne remplissent pas une conditionverifier une condition en javascript
solution pour page web multilangage(Javascript) Proteger son code source, Script Encoder...la solution?
Plus de sujets relatifs à : [C++] boost & semaphore [ solution boost::condition ]


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR