lorsqu'un thread1 a déjà acquis un verrou sur un objet mutex, si thread2 tente d'acquérir un verrou sur le même objet mutex, thread2 sera bloqué. Voici mes questions: 1. comment thread2 vient à savoir que l'objet mutex est déverrouillé? 2. thread2 essayera-t-il d'acquérir un verrou à des intervalles de temps prédéfinis?quelques questions concernant pthread_mutex_lock
Répondre
Cela dépend vraiment de l'OS, mais ce qui se passe habituellement, c'est que thread2 est suspendu et mis sur une liste d'attente maintenue par le mutex. Lorsque le mutex devient disponible, un thread sur la liste d'attente du mutex est retiré de la liste et remis sur la liste des threads actifs. L'OS peut alors le programmer comme il le ferait habituellement. thread2 est totalement quiescent jusqu'à ce qu'il puisse acquérir le mutex.
Je sens un malentendu sur le fonctionnement d'un mutex. Lorsque thread 2 tente d'acquérir un mutex qui est déjà détenue par thread 1, l'appel qui essaie de prendre le mutex ne renverra pas jusqu'à ce que le mutex devient disponible (sauf si vous avez un délai d'attente avec la variante trylock()). Donc, le thread 2 n'a pas besoin de boucler là et continue à essayer de prendre le mutex (sauf si vous utilisez un timeout, vous pouvez donc abandonner en essayant de prendre le mutex en fonction d'une autre condition comme une condition d'annulation).
Mon interprétation est que l'OP posait des questions sur la mise en œuvre du mutex lui-même. – mschaef
@mschaef: Vous avez probablement raison. Il est difficile de dire le niveau de compréhension du PO en fonction du libellé de la question. –
- 1. Quelques questions concernant JavaScriptSerializer
- 2. quelques questions concernant les sessions php
- 3. Quelques questions concernant le bloc d'initialisation dans Java
- 4. Deux questions concernant Scrum
- 5. UIDatePicker questions concernant l'affichage
- 6. Questions concernant BlackBerry BrowserField2
- 7. Impasse, quelques questions
- 8. Quelques questions SQL
- 9. Quelques questions Emacs noob
- 10. Android, Imageview, quelques questions
- 11. Quelques questions Lucene
- 12. PGP - GnuPG - Quelques questions
- 13. Quelques questions pour j2me
- 14. Quelques questions servlet/jetée
- 15. Quelques questions jQuery
- 16. Questions concernant Entity Framework + DDD
- 17. Questions concernant PHP et mootools
- 18. réécrire htaccess url quelques questions
- 19. premier module Drupal - quelques questions
- 20. Quelques questions sur Asp.net MVC
- 21. Quelques questions sur la complexité
- 22. Quelques questions WPF de Font_Combobox
- 23. Quelques questions/proc et/dev
- 24. Quelques questions liées à IPv6
- 25. Quelques questions sur Workflow Foundation
- 26. problème Pthreads et quelques questions
- 27. Quelques questions Azure de base
- 28. Peu de questions débutant concernant NSString
- 29. Questions concernant le programme de calcul Pi
- 30. Quelques questions concernant un entier C à la fonction de chaîne
@all merci les gars – lakshman