2010-10-19 4 views
2

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?

+0

Voulez-vous dire l'acquisition récursive d'une section critique? –

+0

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

+0

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. –

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