そのため、複数のスレッド間で共有されるリソースに対して、非常に多くの読み取りがあり、たまにしか書き込みがないという状況があります。
ずいぶん前に私は について読み、多くの書き込みが切り札の読み取りに来てパフォーマンスを損なうという問題を軽減する試みReaderWriterLock
について読んだことがあります。ReaderWriterGate
しかし、今になって気づいたReaderWriterLockSlim
...
ドキュメントから、「アップグレード可能モード」のスレッドは一度に 1 つしか存在できないと思います。私が使用している唯一のアクセスがEnterUpgradeableReadLock()
(私のシナリオに適している)である状況では、そのままにしておくことと大きな違いはありlock(){}
ますか?
抜粋は次のとおりです。
アップグレード可能モードのスレッドが既に存在する場合、書き込みモードに入るのを待っているスレッドがある場合、または書き込みモードのスレッドが 1 つしかない場合、アップグレード可能モードに入ろうとするスレッドはブロックされます。
または、再帰ポリシーはこれに違いをもたらしますか?