私が持っているとしましょう:
MyCollection = new ConcurrentDictionary<string, int>();
にアイテムを安全に追加および削除できるようになりMyCollection
ました。しかし、アイテムの変更についてはどうですか。たとえば、次のことを行うのは安全ですか。
MyCollection["key"] = 1; // thread 1
と
MyCollection["key"] = 2; // thread 2
例 2:
MyCollection2 = new ConcurrentDictionary<string, List<int>>();
それは安全ですか?
MyCollection2["key"].Add(1); // Thread1
と
MyCollection2["key"].Add(2); // Thread2
ここで、Thread1 と Thread2 が同時に実行されています。アイテムを変更するときにロックを作成する必要がありますか?