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 を使用しており、スレッドごとに 1 つのインスタンスである必要があることです (必要に応じて共有されません)。必要に応じて、取得と解放を 2 つの別々のアクションで分割することができませんでした。
これは何とか解決できますか?