Поделиться через


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>

использование TAlternateKey в качестве ключа вместо TKey.

Интерфейсы

IProducerConsumerCollection<T>

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

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

EnumerablePartitionerOptions

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