【发布时间】:2015-03-24 23:26:22
【问题描述】:
我正在尝试使用原子类型实现我自己的读/写锁。我可以轻松定义排他锁,但我无法像 SRWLock 那样为共享读取器线程创建锁(请参阅SRWLock)。我的问题是如何实现可以在独占模式(一次一个读取器/写入器线程)或共享模式(一次多个读取器线程)下使用的锁。
我不能使用std::mutex 锁,因为它不支持多个阅读器。另外我不使用boost,所以也没有shared_mutex。
【问题讨论】:
-
实现自己的封装了SRWLock并满足BasicLockable的要求?
-
N2406 有一个
shared_mutex的参考实现,可以很容易地适应。
标签: multithreading c++11 atomic