Je me demande si ma mise en œuvre devrait s'attendre à ce que les mutex réentrants soient supportés ou non. Le code est supposé portable/indépendant de la plate-forme. Je me demande si la récursivité mutex est assez commune pour qu'elle ne soit pas un problème.Y a-t-il des plates-formes qui ne supportent pas les mutex réentrants ou les verrous récursifs?
2
A
Répondre
4
C'est généralement une option distincte, disponible via un appel de fonction différent. Même alors, il n'est pas "détecté", il est juste "autorisé". Parfois, vous VOULEZ que le verrou soit récursif. Parfois, vous ne voulez pas que le verrou soit récursif. Toute solution que vous proposez sans autoriser explicitement les deux conditions ne fonctionnera pas universellement pour chaque solution de mutex disponible sans imposer certaines contraintes qui n'existent pas dans les bibliothèques que vous envelopperez.
Questions connexes
- 1. Verrous Mutex contre les verrous de filetage. Lequel utiliser?
- 2. Quels navigateurs ne supportent pas les gifs animés?
- 3. pthread_cond_wait ne déverrouille pas mutex
- 4. Cocoa multiples threads, verrous ne fonctionnent pas
- 5. Pourquoi les CTE récursifs ne peuvent-ils pas utiliser les clauses de regroupement et autres?
- 6. Quand les objets stream C++ utilisent-ils des mutex?
- 7. Sélection du mutex ou du mutex fictif à l'exécution
- 8. Mutex ne fonctionne pas dans Vista
- 9. NSMetaDataQuery, définissez les chemins setSearchScope à récursifs?
- 10. Les sous-états imbriqués Mercurial (subrepos in subrepos) ne sont pas récursifs?
- 11. Comment les économiseurs d'écran supportent plusieurs moniteurs?
- 12. Quels sont les éléments qui supportent les pseudo-éléments :: before et :: after?
- 13. Reclassement d'instructions avec des verrous
- 14. Y at-il des moteurs de templates Python qui supportent Python 3.x
- 15. Suivre les fichiers récursifs dans bash
- 16. Quels navigateurs supportent encore les expressions CSS
- 17. Modifier les verrous de clavier en Python
- 18. Les frameworks qui supportent des formes imbriquées complexes ala Rails 'accepts_nested_attributes_for?
- 19. Les types infinis (types récursifs) ne sont-ils pas possibles en F #?
- 20. comment créer des tables en HTML qui supportent tous les navigateurs (IE, safari, firefox)?
- 21. XmlnsDefinition pour les espaces de noms récursifs
- 22. stocker les points qui ne sont pas dans les triangles
- 23. Win32 Mutex n'attend pas
- 24. Accéder aux interfaces des classes qui ne les implémentent pas?
- 25. getopt_long() et les paramètres qui ne sont pas des drapeaux?
- 26. Icon.ExtractAssociatedIcon pour les objets qui ne sont pas des fichiers?
- 27. Pourquoi foldRight et reduceRight ne sont pas récursifs?
- 28. Pourquoi Apache ne gzip pas les fichiers css ou js qui ont des paramètres?
- 29. Verrous de ligne - manuellement les utiliser
- 30. Le pilote db2 jdbc ne libère pas les verrous de table
Voulez-vous dire l'acquisition récursive d'une section critique? –
Voulez-vous dire verrouiller le même mutex plusieurs fois? Ou voulez-vous dire bloquer plusieurs mutex? Aussi, utilisez-vous pthreads ou autre chose? – Jonathan
Une réponse est "sur toutes les plateformes". Un mutex a une signification spécifique. Cependant, vous pourriez élargir votre question, beaucoup. Comme d'autres l'ont dit, que voulez-vous dire par "mutex"? Puisque vous parlez de plates-formes, il est probable que certains OS construisent. Lequel? Soyez plus précis ou toute réponse sera soit trop vague ou peut-être répondre à quelque chose de totalement différent de ce que vous voulez savoir. –