使您的集合在C#中成为线程安全的

.NET Framework 4带来了System.Collections.Concurrent命名空间。它具有几个线程安全和可伸缩的集合类。这些集合称为并发集合,因为它们一次可以被多个线程访问。

以下并发集合类型使用轻量级同步机制:SpinLock,SpinWait等。.NETFramework 4中的新增功能。

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

类型描述
BlockingCollection <T>任何类型的边界和阻止功能。
ConcurrentDictionary <TKey,TValue>键值对字典的线程安全实现。
ConcurrentQueue <T>FIFO(先进先出)队列的线程安全实现。
ConcurrentStack <T>LIFO(后进先出)堆栈的线程安全实现。
并发包<T>无序元素集合的线程安全实现。
IProducerConsumerCollection <T>类型必须实现才能在BlockingCollection中使用的接口

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

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