如何使用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. 條件變量死鎖
- 3. 用GCD讀寫鎖定
- 4. 無鎖讀寫器
- 5. 如何設置ASP.NET SessionState讀寫鎖定超時?
- 6. vxWorks中的讀寫器鎖定
- 7. 嘗試鎖定變量時檢測到死鎖。 16次嘗試後無法獲取鎖定。鎖定超時
- 8. 使用讀取或寫入鎖定rw_semaphore
- 9. pthreads:讀寫器鎖,將讀鎖升級到寫鎖
- 10. 鎖定靜態變量 - 定時器和事件處理
- 11. 在asp.net中讀取/寫入鎖定靜態變量
- 12. 使用Windows slim讀/寫鎖
- 13. DB2鎖定超時
- 14. 有條件的apache鎖定使用.htaccess
- 15. 讀寫器鎖執行
- 16. sqlite:檢查讀寫器鎖
- 17. 讀/寫鎖定混淆
- 18. pthread讀寫鎖定FIFO?
- 19. Fopen文件鎖定在PHP(讀寫器類型的情況)
- 20. 超時鎖定等待超時 - 使用單個數據庫管理器插入
- 21. 使用條件變量優於互斥鎖
- 22. 定時器鎖定屬性爲只讀鎖定功能
- 23. 鎖定層次結構和讀寫器互斥鎖
- 24. Http服務器讀寫超時和服務器端事件
- 25. 使用條件變量進行雙向通信時發生死鎖
- 26. 用於讀寫系統調用的鎖定文件或分區
- 27. Postgres寫/讀鎖
- 28. 讀寫鎖表
- 29. 有條件的Mod重寫變量
- 30. 如何鎖定文件並在寫入時避免讀取
這將隨平臺而變化... – 2009-01-27 13:51:44
我不相信您的編輯有意義。答案本質上取決於平臺,獨立於平臺的庫是無意義的。 – 2009-01-27 14:09:38