C# 中的线程安全集合
.NET Framework 4 引入了 System.Collections.Concurrent 名称空间。该名称空间有大量的集合类。这些类既是线程安全的,也是可扩展的。多个线程可以安全地将项添加到这些集合或从这些集合中移除项,
以下并行集合类型使用轻量级同步机制:SpinLock、SpinWait 等。它们是 .NET Framework 4 中的新选项。
我们来看看 C# 中的并行集合 −
序号。 | 类型和说明 |
---|---|
1 | BlockingCollection<T> 任何类型的绑定和阻塞功能。 |
2 | ConcurrentDictionary<TKey,TValue> 密钥-值对字典的线程安全实现。 |
3 | ConcurrentQueue<T> 先进先出 (FIFO) 队列的线程安全实现。 |
4 | ConcurrentStack<T> 后进先出 (LIFO) 栈的线程安全实现。 |
5 | ConcurrentBag<T> 无序元素集合的线程安全实现。 |
6 | IProducerConsumerCollection<T> 一种类型必须实现的接口,才能用于 BlockingCollection |
广告