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 つの別々のアクションで分割することができませんでした。
これは何とか解決できますか?