Quelle est la différence b/w PRLock
et PRRWLock
fourni par nspr bibliothèque?Quelle est la différence b/w PRLock et PRRWLock
Répondre
Je ne connais rien à la bibliothèque mais les noms suggèrent que l'un est un verrou standard et l'autre un verrou lecteur/graveur. Le premier donne toujours un accès exclusif, et le second autorise plusieurs lectures simultanées mais des écritures exclusives. Par exemple, pthreads api a les méthodes pthread_mutex_lock/pthread_mutex_unlock et pthread_rwlock_rdlock/pthread_rwlock_wrlock.
PRLock is a simple mutex. PRRWLock est un (unfortunatelyundocumented) reader-writer lock.
La seule source de documentation que je peux trouver sur PRRWLock est contenu dans prrwlock.h
, et comprend les méthodes on peut attendre pour une mise en œuvre de verrouillage lecteur-écrivain:
- Créer et détruire
- Acquire lecteur-lock
- Acquire Writer-lock
- Déverrouillez
Un exemple de son utilisation est contenue dans rwlocktest.c
. Le rank du verrou est utilisé pour la détection de blocage et est affirmé dans les versions de débogage pour s'assurer qu'un thread n'acquiert qu'un verrou de rang égal ou supérieur à tous les verrous actuellement détenus.
- 1. Explication théorique de la différence bw Interface et Résumé
- 2. Quelle est la différence?
- 3. Quelle est la différence
- 4. Quelle est la différence?
- 5. Quelle est la différence?
- 6. Quelle est la différence entre '==' et '==='?
- 7. fgets() et fread() - Quelle est la différence?
- 8. Quelle est la différence entre "$^N" et "$ +"?
- 9. Quelle est la différence entre dict() et {}?
- 10. Quelle est la différence entre equales et ==
- 11. Quelle est la différence entre ~ et! opérateur?
- 12. Quelle est la différence entre = et: =
- 13. tformfwd et tforminv - quelle est la différence?
- 14. quelle est la différence entre:.! et: r !?
- 15. quelle est la différence entre == et ===?
- 16. quelle est la différence entre * et l'objet
- 17. Quelle est la différence entre == et ===?
- 18. Quelle est la différence entre `{}` et `[]`?
- 19. quelle est la différence entre '! =' Et
- 20. Quelle est la différence \\ \ C:.. Et \\ \ C: \
- 21. Quelle est la différence C#
- 22. quelle est la différence entre -> et =>? quel est ::?
- 23. Quelle est la différence entre la classe() et la classe
- 24. Quelle est la différence entre la structure et la classe
- 25. Quelle est la différence entre la saturation et la luminosité?
- 26. Quelle est la différence entre la sérialisabilité et la linéarisation?
- 27. Quelle est la différence entre la douille et la chaussette?
- 28. Quelle est la différence entre @ et $ et% dans MSBuild?
- 29. Quelle est différence entre odbc_connect() et mssql_connect()
- 30. Quelle est la différence entre la version et l'itération?
+1; en regardant la source, ils utilisent 'pthread_rwlock_rdlock/pthread_rwlock_wrlock' pour l'implémenter si PThreads est disponible. – CharlesB