System.Collections.Concurrent 名前空間

複数のスレッドがコレクションに同時にアクセスするたびに、System.Collections および System.Collections.Generic 名前空間の対応する型の代わりに使用する必要がある、スレッド セーフなコレクション クラスをいくつか提供します。

ただし、拡張メソッドまたは明示的なインターフェイス実装を介したコレクション オブジェクトの要素へのアクセスは、スレッド セーフであるとは限らず、呼び出し元による同期が必要になる場合があります。

クラス

BlockingCollection<T>

IProducerConsumerCollection<T>を実装するスレッド セーフなコレクションのブロック機能と境界機能を提供します。

ConcurrentBag<T>

スレッド セーフで順序付けられていないオブジェクトのコレクションを表します。

ConcurrentDictionary<TKey,TValue>

複数のスレッドが同時にアクセスできるキーと値のペアのスレッド セーフなコレクションを表します。

ConcurrentQueue<T>

スレッド セーフな先入れ先出し (FIFO) コレクションを表します。

ConcurrentStack<T>

スレッド セーフな先入れ先出し (LIFO) コレクションを表します。

OrderablePartitioner<TSource>

注文可能なデータ ソースを複数のパーティションに分割する特定の方法を表します。

Partitioner

配列、リスト、列挙型の一般的なパーティション分割戦略を提供します。

Partitioner<TSource>

データ ソースを複数のパーティションに分割する特定の方法を表します。

構造体

ConcurrentDictionary<TKey,TValue>.AlternateLookup<TAlternateKey>

ConcurrentDictionary<TKey,TValue> に対する操作を実行するために使用できる型を提供します。

TKeyの代わりにキーとして TAlternateKey を使用します。

インターフェイス

IProducerConsumerCollection<T>

プロデューサー/コンシューマーの使用を目的としたスレッド セーフなコレクションを操作するメソッドを定義します。 このインターフェイスは、プロデューサー/コンシューマー コレクションの統一された表現を提供するため、BlockingCollection<T> などのより高いレベルの抽象化で、基になるストレージ メカニズムとしてコレクションを使用できます。

列挙型

EnumerablePartitionerOptions

パーティショナーのバッファリング動作を制御するオプションを指定します。