有什么区别b / w PRLock
和 PRRWLock
由nspr库提供?
答案 0 :(得分:3)
我对这个库一无所知,但名字暗示一个是标准锁,另一个是读/写锁。第一个总是提供独占访问,第二个允许多个并发读取但是独占写入。例如,pthreads api有pthread_mutex_lock / pthread_mutex_unlock和pthread_rwlock_rdlock / pthread_rwlock_wrlock方法。
答案 1 :(得分:0)
PRLock is a simple mutex。 PRRWLock是一个(unfortunately undocumented)reader-writer lock。
我可以在PRRWLock上找到的唯一文档来源包含在prrwlock.h
中,并包含了读者 - 作者锁实现所期望的方法:
其用法示例包含在rwlocktest.c
中。锁的 rank 用于死锁检测,并在调试版本中声明,以确保线程仅获取等于或大于当前所有锁定的等级锁。