Bonjour, 8)
Quelqu'un pourrait-il me dire ce qu'apportent les conditions par rapport à l'exclusion mutuelle dans les threads POSIX?
Merci à vous et à bientôt. :wink:
DJ@M's.
Version imprimable
Bonjour, 8)
Quelqu'un pourrait-il me dire ce qu'apportent les conditions par rapport à l'exclusion mutuelle dans les threads POSIX?
Merci à vous et à bientôt. :wink:
DJ@M's.
La condition va te permettre de te synchroniser sur un changement d'état d'une variable ( exemple attendre qu'une liste soit vide).
L'exclusion mutuelle ( exemple mutex) va permettre de gérer les accès concurrent sur une ressource.
OK merci, j'ai bien compris la différence.
Par contre, j'aurais encore une autre question à propos des conditions. Après avoir vu plusieurs exemples de codes utilisant ce mécanisme, j'ai remarqué que l'on entourait toujours pthread_cond_wait et pthread_cond_signal par des pthread_mutex_lock et pthread_mutex_unlock; quelqu'un saurait-il m'expliquer pourquoi?
Merci à vous. :wink:
DJ@M's.
En fait dés que la condition est satisfaite, le mutex est de nouveau acquis à la pthread qui a fait un pthread_cond_wait ( a ce moment d'ailleurs le mutex est libéré).
En effet, si on attends qu'une condition se réalise sur une variable ceci implique que d'autres pthread travaillent sur cette variable. Donc il est normal de poser un mutex sur cette dernière pour travailler.
C'est pas trés clair les conditions hein ?