私はboost :: shared_mutexを使ってマルチリーダ/シングルライタミューテックスを実装しようとしています。私の質問はかなりシンプルですが、別のスレッドがshared_mutexを書き込みのためにロックしようとすると、スレッドがshared_mutexへの読者のアクセス権を得ることは可能でしょうか?例えば、私は10個のスレッドを持って、それらの一方のみを書くことができ、boost :: shared_mutexマルチリーダ/シングルライタミューテックス
- スレッド1は、そのshared_mutexにshared_lockを持っており、
- スレッド2は、そのshared_mutexにshared_lockを持っており、読み取ろうと 何かを読み取ろうとします 何か
- スレッド3はそのshared_mutexにunique_lockのを持っており、
- スレッド4は、そのshared_mutexにshared_lockを持っており、 何かを読み取ろうとする何かを書き込もうとします
- スレッド5は、そのshared_mutexにshared_lockを持っており、 何か
shared_mutexを読み取ろうとするが、現在スレッド2によってロックされて共有されている、私の質問は、スレッド4が読み取りアクセスを得ることが可能であるかどうかでありますそのshared_mutexに、前にスレッド3書くことができますか?リーダ/ライターミューテックスが飢餓状態になる可能性はありますか?たとえば、100リーダーvs。 1人の作家ですか?
ありがとうございました。
重複:http://stackoverflow.com/questions/4203467/multiple-readers-single-writer-locks-in-boost –
こことhttp://stackoverflow.com/questions/989795/example-for- boost-shared-mutex-multiple-reads-one-write –
関連性はありますが、重複はありません。 – Thomas