2011-06-14 1 views

Répondre

3

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.

+0

+1; en regardant la source, ils utilisent 'pthread_rwlock_rdlock/pthread_rwlock_wrlock' pour l'implémenter si PThreads est disponible. – CharlesB

0

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.

Questions connexes