System.Collections.Concurrent Namespace

Пространство имен System.Collections.Concurrent предоставляет несколько потокобезопасных классов коллекций, которые следует использовать вместо соответствующих типов в пространствах имен System.Collections и System.Collections.Generic, если несколько потоков параллельно обращаются к такой коллекции. 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. Однако доступ к элементам объекта коллекции через методы расширения или явные реализации интерфейса не обязательно будет потокобезопасным и может потребовать синхронизацию с вызывающим объектом. 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