次のように定義された 4 つのレベルのデータ構造があります。
Dictionary<Type1, Dictionary<Type2, Dictionary<Type3, List<Type4>>>>
全体が、スレッドセーフも維持するクラスにカプセル化されています。現在、データの読み取り/操作中にコレクション全体をロックするだけです (読み取りは、書き込みよりも桁違いに一般的です)。
Dictionary
をConcurrentDictionary
とList
で置き換えようと考えていましたConcurrentBag
(そのアイテムは注文する必要はありません)。
そうする場合、ロックを解除して、並行コレクションが正しく機能することを確認できますか?