0

次のオブジェクトがあります。

Dictionary<string, List<SubmitSm>> smDic

これはグローバル変数です。

他のスレッドが同じアクションを実行している間に、smDic からそのスレッドのローカル オブジェクトに項目を読み取り、コピーされた項目を smDic から削除することの影響/意味は何ですか? アイテムの読み取りと削除を行う各スレッドは、特定の辞書キーを持つアイテムのみを読み取ることができます (1 対 1 の関係です)。

4

1 に答える 1

1

その場合は a を使用することをお勧めしますSystem.Collections.Concurrent.ConcurrentDictionary。また、IDictionaryインターフェイスを実装し、追加と削除を実行するためにスレッド セーフな方法で使用できます。http://msdn.microsoft.com/en-us/library/dd287191.aspxを参照してください。

ToDictionaryへの中間変換を必要としない、要求に応じた並行辞書用のバリアントは、次のKeyValuePair場所にあります: Extension method Gets "No overload for method" Error

于 2013-08-31T18:03:12.233 に答える