System.Collections.Concurrent
Efficient, thread-safe operations for access collection items from multiple threads. Concurrent collection classes do not require user code to take any locks when accessing items.
BlockingCollection<T>— provides blocking & bounding capabilities;- Producer threads block if not slots are available or if collection is full.
- Consumer threads block if collection is empty.
- Class can be used as backing store to provide blocking & bounding for any collection that implements
IEnumerable<T>.
ConcurrentBag<T>— Use for scalable add/get operations.ConcurrentDictionary<Tkey, Tvalue>ConcurrentQueue<T>— FIFOConcurrentStack<T>— LIFO