我正在尝试实现 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 并且应该是每个线程一个实例(不是我需要的共享)。我没有设法根据需要在两个单独的操作中中断获取和释放。
这可以以某种方式解决吗?