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>

Представляет определенный способ разделения источника данных на несколько разделов.

Интерфейсы

IProducerConsumerCollection<T>

Определяет методы для работы с потокобезопасными коллекциями, предназначенными для использования потоками-производителями и потоками-получателями. Этот интерфейс обеспечивает унифицированное представление для коллекций производителей/потребителей, чтобы абстракции более высокого уровня, такие как BlockingCollection<T>, могли использовать коллекцию в качестве базового механизма хранения.

Перечисления

EnumerablePartitionerOptions

Задает параметры для управления поведением буферизации модуля разделения.