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 | 定义供制造者/使用者用来操作线程安全集合的方法。 此接口提供一个统一的表示(为生产者/消费者集合),从而更高级别抽象如 BlockingCollection 可以使用集合作为基础的存储机制。 |
枚举
枚举 | 说明 |
---|---|
EnumerablePartitionerOptions | 指定控制分区程序的缓冲行为的选项。 |