.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);