我想将 shared_mutex 与共享/唯一锁一起用于读/写。
现在如果我有 2 个对象并且我希望它们使用相同的锁,我可以将第一个互斥锁的值分配给第二个互斥锁吗?
还是我必须创建一个指向 shared_mutex 的指针,然后让它们都指向同一个对象实例?
我的意思是,这会正常工作吗?两个对象会在同一个锁上工作吗?:
typedef boost::shared_mutex ReadWriteMutex;
class A {
ReadWriteMutex lock;
}
void test() {
A a = new A();
B b = new B()
b.lock = a.lock;
}
最佳答案
这将无法正常工作。 shared_mutex
派生自 boost::noncopyable
。您想要使用的是指向互斥量的指针或引用。
关于c++ - Boost - shared_mutex 必须是同一个实例吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5528177/