有什麼區別的B/W PRLock
和PRRWLock
由NSPR庫提供?有什麼區別的B/W PRLock和PRRWLock
1
A
回答
3
我對這個庫一無所知,但名稱暗示其中一個是標準鎖,另一個是讀寫器鎖。第一個總是允許獨佔訪問,第二個允許多個併發讀取但獨佔寫入。例如,pthreads api包含pthread_mutex_lock/pthread_mutex_unlock和pthread_rwlock_rdlock/pthread_rwlock_wrlock方法。
0
PRLock is a simple mutex。 PRRWLock是(unfortunatelyundocumented)reader-writer lock。
文檔的唯一來源,我可以找到PRRWLock包含內prrwlock.h
,包括人們所期望的讀寫鎖的實現方法:
- 創建和銷燬
- 採集閱讀器鎖
- 採集作家鎖
- 解除鎖定
其使用示例包含在rwlocktest.c
中。鎖的等級用於死鎖檢測,並在調試構建中被斷言以確保線程僅獲取等於或大於所有當前保持的鎖的鎖的鎖。
相關問題
- 1. SAP ECC和SAP BW有什麼區別?
- 2. 有什麼區別`和$(Bash中有什麼區別?
- 3. 有什麼區別? :和||
- 4. &&和||有什麼區別?
- 5. 「/」和「/ *」有什麼區別?
- 6. 有什麼區別:。!和:r!?
- 7. ==和===有什麼區別?
- 8. Appender和〜有什麼區別?
- 9. $ @和$ *有什麼區別?
- 10. is和=有什麼區別?
- 11. #.00和#。##有什麼區別?
- 12. `==`和`is`有什麼區別?
- 13. '=='和'==='有什麼區別?
- 14. /和/#/有什麼區別?
- 15. | 0和~~有什麼區別?
- 16. `&`和`ref`有什麼區別?
- 17. ==和===有什麼區別?
- 18. ==和===有什麼區別?
- 19. `{}`和`[]`有什麼區別?
- 20. JavaScript和=== ===有什麼區別?
- 21. difftime和' - '有什麼區別?
- 22. =和==有什麼區別?
- 23. 有什麼區別
- 24. 有什麼區別
- 25. ....有什麼區別?
- 26. 有什麼區別
- 27. 有什麼區別?
- 28. xtype和別名有什麼區別?
- 29. Mixpanel:識別()和people.identify()有什麼區別?
- 30. 有什麼區別
+1;看看他們使用'pthread_rwlock_rdlock/pthread_rwlock_wrlock'來源來實現它,如果PThreads可用。 – CharlesB 2011-06-14 14:50:14