如何使用C/C++中的條件變量寫超時的讀/寫鎖定?使用條件變量的超時讀寫器鎖定
1
A
回答
1
您可以看看Java的實現ReentrantReadWriteLock的來源。
只需抓住JDK解壓縮src.zip文件並搜索源代碼。
0
雖然C++ 0x將有一些線程支持(我沒有檢查看看有多少),但在目前的標準C++中不支持這樣的事情。因此,任何答案都必須取決於平臺,從一般意義上講使用平臺。
可以編寫在不同底層系統中表現類似的庫,並且有相當多的跨平臺庫。 (當然,如果底層平臺的功能不同,這些效率會很低。)可能會有一個普遍接受的C++線程庫,它可以在基於Windows和Unix的系統上工作(這幾乎是任何你將要運行的現在桌面上),但我不知道一個。
因此,這個問題不能真正回答問。有必要在特定的平臺或圖書館上回答這個問題,但沒有具體說明。如果再加上圖書館推薦請求,這將是有意義的。
4
如果你只是在尋找一個圖書館,Boost.Thread可能會做你想做的。
0
查看Boost.Thread庫。具體來說:shared_mutex
和upgradeable_mutex
對象。
相關問題
- 1. 條件變量的讀寫器鎖定
- 2. C++中的文件鎖定用於同時讀寫鎖
- 3. 在讀寫時鎖定文件
- 4. 條件變量死鎖
- 5. 鎖/條件變量問題
- 6. 無條件鎖定的條件變量上的信號
- 7. 使用條件變量提升鎖定機制
- 8. 用GCD讀寫鎖定
- 9. 無鎖讀寫器
- 10. 如何設置ASP.NET SessionState讀寫鎖定超時?
- 11. vxWorks中的讀寫器鎖定
- 12. 使用讀取或寫入鎖定rw_semaphore
- 13. 嘗試鎖定變量時檢測到死鎖。 16次嘗試後無法獲取鎖定。鎖定超時
- 14. pthreads:讀寫器鎖,將讀鎖升級到寫鎖
- 15. 鎖定靜態變量 - 定時器和事件處理
- 16. 在asp.net中讀取/寫入鎖定靜態變量
- 17. 使用Windows slim讀/寫鎖
- 18. 提升內部讀寫器鎖定
- 19. 「超時試圖鎖定表」變更表
- 20. DB2鎖定超時
- 21. 當調用條件變量的通知時,互斥鎖是否會被解鎖
- 22. Python寫有偏見的讀寫器鎖
- 23. 兩個條件變量,避免死鎖
- 24. 打破條件變量死鎖
- 25. MonitorMixin條件變量 - >死鎖
- 26. 有條件變量和rwlock死鎖
- 27. 有條件的apache鎖定使用.htaccess
- 28. sqlite:檢查讀寫器鎖
- 29. 讀寫器鎖執行
- 30. pthread讀寫鎖定FIFO?
這將隨平臺而變化... – 2009-01-27 13:51:44
我不相信您的編輯有意義。答案本質上取決於平臺,獨立於平臺的庫是無意義的。 – 2009-01-27 14:09:38