2010-11-22 15 views
5

このマルチスレッドシナリオをどのようにして最良の状態にすることができるのかはわかりません。ロック混乱の読み取り/書き込み

私は、1つのブロックでデータを読み取り、複数のスレッドが同時にアクセスできるようにしています。データを書き込む別のブロックがあり、いつでも1つのスレッドしか書き込めません。また、スレッドがデータを読み込んでいる間は書き込みを開始できません。 ReaderWriterLockSlimここに行く方法は、スレッドの書き込みをブロックする前に読み取りスレッドが終了するのを待ちますか?

答えて

5

はい、ReaderWriterLockSlimは、頻繁な読者/頻繁ではないライターのシナリオに最適です。

動作は想定どおりです。単一のライターのみ、すべてのリーダーが完了するまでライターがブロックされ、ライターが処理中にアクセスできない。

ロックを保持している時間(読み取りまたは書き込みのいずれか)が、同時アクセスを防止するのに十分長く、もはや長くならないように注意してください。

+0

グレート、感謝を! – Homde

関連する問題