用 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 次瀏覽

啟動你的 職業生涯

透過完成本課程獲取認證

開始學習
廣告