System.Collections.Concurrent Пространство имен
Предоставляет несколько потокобезопасных классов коллекций, которые следует использовать вместо соответствующих типов в пространствах имен System.Collections и System.Collections.Generic, если несколько потоков параллельно обращаются к такой коллекции. 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. Однако доступ к элементам объекта коллекции через методы расширения или явные реализации интерфейса не обязательно будет потокобезопасным и может потребовать синхронизацию с вызывающим объектом. However, access to elements of a collection object through extension methods or through explicit interface implementations are not guaranteed to be thread-safe and may need to be synchronized by the caller.
Классы
BlockingCollection<T> |
Предоставляет возможности блокировки и ограничения для потокобезопасных коллекций, реализующих IProducerConsumerCollection<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> |
Предоставляет потокобезопасную коллекцию, обслуживаемую по принципу «первым поступил — первым обслужен» (FIFO).Represents a thread-safe first in-first out (FIFO) collection. |
ConcurrentStack<T> |
Предоставляет потокобезопасную коллекцию, обслуживаемую по принципу «последним поступил — первым обслужен» (LIFO).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. |
Интерфейсы
IProducerConsumerCollection<T> |
Определяет методы для работы с потокобезопасными коллекциями, предназначенными для использования потоками-производителями и потоками-получателями.Defines methods to manipulate thread-safe collections intended for producer/consumer usage. Этот интерфейс обеспечивает унифицированное представление для коллекций производителей/потребителей, чтобы абстракции более высокого уровня, такие как BlockingCollection<T>, могли использовать коллекцию в качестве базового механизма хранения.This interface provides a unified representation for producer/consumer collections so that higher level abstractions such as BlockingCollection<T> can use the collection as the underlying storage mechanism. |
Перечисления
EnumerablePartitionerOptions |
Задает параметры для управления поведением буферизации модуля разделения.Specifies options to control the buffering behavior of a partitioner. |