2013-07-16 25 views
-1

我正在處理.net framework 2.0,我需要一個Key-Value對來存儲在內存中。我有兩個線程,一個持續讀取內存,另一個更改內存。 2.0中的ConcurrentDictionary有沒有等價的方法?或者其他方式來實現這個功能?.net 2.0中的線程安全內存(key,value)

+1

什麼是錯的鎖。如果你意識到鎖定並尋找另一種方式,那麼你爲什麼不把它放在問題上? – Paparazzi

回答

3

在C#2.0中,您將不得不通過實現鎖定手動執行此操作。您需要創建一個單獨的鎖定對象,並且在訪問字典之前,您必須鎖定該對象。

private readonly object lockObject = new object(); 
    private Dictionary<TKey, TValue> d = new Dictionary<TKey, TValue>(); 
    lock (lockObject) 
    { 
     d.Add(key, value); 
    } 

但是,如果你有移動到最新的框架4.5的奢侈,你可以使用ConcurrentDictionary

+0

說如果我有'Dictionary >'如果我正在修改列表,是否需要鎖定列表? –

+0

@SatishBejgum我爲你添加了一個例子。 – Ehsan

+0

@SatishBejgum有幫助嗎? – Ehsan