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