8
スレッドセーフな辞書を実装する最良の方法は何ですか?
IDictionaryから派生させ、プライベートSyncRootオブジェクトを定義することで、C#でスレッドセーフなディクショナリを実装できました。 public class SafeDictionary<TKey, TValue>: IDictionary<TKey, TValue> { private readonly object syncRoot = new object(); private Dictionary<TKey, TValue> d = new Dictionary<TKey, TValue>(); public object SyncRoot { get { return syncRoot; } } public void Add(TKey key, TValue value) { lock (syncRoot) { d.Add(key, value); } } // more IDictionary …