0

コレクションを任意の順序 (foreach) で列挙し、任意のスレッドからアイテムを追加/削除できる必要があります。

インデックスによる直接アクセスは必要ありません。

どのコレクションを使用しますか? 単なるリスト?その場合、追加/削除のみをロックする必要がありますか、それとも foreach もロックする必要がありますか?

次の操作を任意のスレッドで使用できるようにします。

foreach (var item in myCollection)
{
    // myCollection can be returned in any order.
}

myCollection.Add(item)

var success = myCollection.Remove(item) // returns false if the item does not exist in myCollection
4

1 に答える 1

4

スレッドセーフなコレクションにはConcurrentBagを使用する必要Represents a thread-safe, unordered collection of objectsがあります。.NET 4.0

注:あなたがそれを使用しようとしているコンテキストを認識していないため、これ以上の情報を提供することはできません. より深い回答を得るには、より多くの情報を提供してください。

于 2013-01-10T12:07:12.790 に答える