2010-05-30 99 views

回答

56

在.NET 4中,您有ConcurrentDictionary類。

如果你需要使用.NET的舊版本,並希望自己編寫:

  • 在你的類包裝一個字典作爲私人
  • 使用一個單獨的private object lockObject
  • 鎖定lockObject周圍每個訪問字典
+2

只是想知道,爲什麼「使用一個單獨的鎖對象」? – MFatihMAR 2015-07-24 16:46:59

+7

@MonoLightTech - 有點理論上的問題,但如果Dictionary類本身內部的代碼或需要「查看」集合的外部代碼也鎖定它,那麼可能會發生死鎖。使用關注點分離:lockObject僅用於鎖定。 – 2015-07-24 21:06:28