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> | 定义用于操作供生产者/使用者使用的线程安全集合的方法。 此接口提供统一的表示形式的生产者/使用者集合使程序更高级别的抽象如 System.Collections.Concurrent.BlockingCollection<T> 可以将此集合用作基础存储机制。 |
枚举
枚举 | 说明 |
EnumerablePartitionerOptions | 指定选项来控制分区程序缓冲行为 |