2011-04-12 23 views

回答

15

一般而言,Contains操作在併發收集中不是很有用。問題在於,只要您確定集合「包含」或不包含某個對象,您作爲該檢查結果所執行的邏輯就不再有效,因爲另一個線程可能已經立即添加或刪除該項目。

ConcurrentDictionary類包含此方法來實現IDictionary,但預期的用法實際上是使用AddOrUpdate,GetOrAdd和類似的原子方法。

+0

+1爲省略背後的邏輯簡潔描述 – spender 2011-04-12 01:48:59

+0

+1本文及其後續幫助我更好地理解了這些問題:http://blogs.msdn.com/b/jaredpar/archive/2009/02/ 11 /爲什麼是線程安全集合so-hard.aspx – 2011-04-12 02:11:11

+0

非常感謝。這解釋了我的疑惑。 – CuiPengFei 2011-04-12 05:08:56

相關問題