在 C# 中让你的集合实现线程安全

csharpprogrammingserver side programming更新于 2025/8/15 11:52:17

.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 中使用,类型必须实现的接口

让我们看看如何使用线程安全的后进先出 (LIFO) 集合 ConcurrentStack<T> −

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

相关文章