.net 2.0中的线程安全内存(密钥,值)

时间:2013-07-16 05:38:27

标签: c# .net memory c#-2.0 key-value

我正在研究.net framework 2.0,我需要一个Key-Value对存储在内存中。我有两个线程,一个继续读取内存,另一个更改内存。 2.0中的ConcurrentDictionary有没有相同的方法?或者任何其他方式来实现此功能?

1 个答案:

答案 0 :(得分: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