適用於多執行緒環境的 ConcurrentDictionary
在 ASP.NET 中,通常共用的值可能都會選擇存放在 Dictionary 物件中。但是 ASP.NET 可以算是一個多執行緒的環境,所以會有同時多個執行緒存取同一個物件的情形在,雖然可以利用 lock 關鍵字來避免錯誤發生,但程式碼會顯得不夠簡潔,這時就可以利用 ConcurrentDictionary 來解決問題。
使用上跟一般的 Dictionary 沒什麼不同,只是 Add 改為 TryAdd 而已( Remove 也是一樣)。
ConcurrentDictionary<string, string> dict = new ConcurrentDictionary<string, string>();
dict.TryAdd("key", "value");
參考資料