我想实现一个RWLock接口
interface IRWLock
{
void acquireLockShared(); //< LockRead.
void releaseLockShared(); //< UnLockRead.
void acquireLockExclusive(); //< LockWrite.
void releaseLockExclusive(); //< UnLockWrite.
};
使用boost::shared_mutex
,boost::unique_lock
和boost::shared_lock
。
我遇到的问题是boost::shared_lock
/ boost::unique_lock
正在使用RAII,每个线程应该是一个实例(不是我需要的共享)。我没有设法在我需要的两个单独行动中打破获取和释放。
这可以以某种方式解决吗?