用 C# 编写线程安全的代码集合


.NET Framework 4 引入了 System.Collections.Concurrent 命名空间。它有一些线程安全且可扩展的集合类。这些集合被称为并发集合,因为多个线程可以同时访问它们。

以下并发集合类型使用轻量级同步机制:SpinLock、SpinWait 等。它们是 .NET Framework 4 中的新机制。

我们来看看 C# 中的并发集合 -

类型 说明
BlockingCollection<T> 针对任何类型的绑定和阻塞功能。
ConcurrentDictionary<TKey,TValue> 键值对字典的线程安全实现。
ConcurrentQueue<T> FIFO(先进先出)队列的线程安全实现。
ConcurrentStack<T> LIFO(后进先出)堆栈的线程安全实现。
ConcurrentBag<T> 元素的无序集合的线程安全实现。
IProducerConsumerCollection<T> 类型必须实现该接口,才能在 BlockingCollection 中使用

让我们来看看如何使用 ConcurrentStack<T>,它是一个线程安全的先进先出 (LIFO) 集合 -

ConcurrentStack<int> cs = new ConcurrentStack<int>();
cs.Push(95);
cs.Push(120);
cs.Push(130);

更新于: 30-Jul-2019

298 次浏览

启动你的 职业生涯

通过完成本课程获取认证

开始学习
广告