C# 中的线程安全收集
.NET Framework 4 引入了 System.Collections.Concurrent 命名空间。该命名空间包含很多集合类。这些类是线程安全的,而且可扩展。多个线程可以安全地向这些集合增加或者删除项目,
以下并发集合类型使用轻量级同步机制:SpinLock、SpinWait 等。它们是 .NET Framework 4 中的新增功能。
让我们看一看 C# 中的并发集合 −
序号。 | 类型和描述 |
---|---|
1 | BlockingCollection<T> 任何类型的边界和阻塞功能。 |
2 | ConcurrentDictionary<TKey,TValue> 线程安全的 key-value 对词典实现。 |
3 | ConcurrentQueue<T> 线程安全的 FIFO(先进先出)队列实现。 |
4 | ConcurrentStack<T> 线程安全的 LIFO(后进先出)栈实现。 |
5 | ConcurrentBag<T> 线程安全、无序的元素集合实现。 |
6 | IProducerConsumerCollection<T> 一个类型必须实现该接口才可供 BlockingCollection 使用 |
广告