如何使用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