System.Collections.Concurrent Namespace
.NET Framework 4.5
The System.Collections.Concurrent namespace provides several thread-safe collection classes that should be used in place of the corresponding types in the System.Collections and System.Collections.Generic namespaces whenever multiple threads are accessing the collection concurrently.
| Class | Description | |
|---|---|---|
|
BlockingCollection<T> | Provides blocking and bounding capabilities for thread-safe collections that implement IProducerConsumerCollection<T>. |
|
ConcurrentBag<T> | Represents a thread-safe, unordered collection of objects. |
|
ConcurrentDictionary<TKey, TValue> | Represents a thread-safe collection of key/value pairs that can be accessed by multiple threads concurrently. |
|
ConcurrentQueue<T> | Represents a thread-safe first in-first out (FIFO) collection. |
|
ConcurrentStack<T> | Represents a thread-safe last in-first out (LIFO) collection. |
|
OrderablePartitioner<TSource> | Represents a particular manner of splitting an orderable data source into multiple partitions. |
|
Partitioner | Provides common partitioning strategies for arrays, lists, and enumerables. |
|
Partitioner<TSource> | Represents a particular manner of splitting a data source into multiple partitions. |
| Interface | Description | |
|---|---|---|
|
IProducerConsumerCollection<T> | Defines methods to manipulate thread-safe collections intended for producer/consumer usage. This interface provides a unified representation for producer/consumer collections so that higher level abstractions such as System.Collections.Concurrent.BlockingCollection<T> can use the collection as the underlying storage mechanism. |
| Enumeration | Description | |
|---|---|---|
|
EnumerablePartitionerOptions | Specifies options to control the buffering behavior of a partitioner |