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 |
Задает параметры для управления поведением буферизации модуля разделения. |