Making dictionary access thread-safe?
46,153
In .NET 4 you have the ConcurrentDictionary class.
If you need to use an older version of .NET, and want to write it yourself:
- wrap a Dictionary as a private field in your class
- use a separate
private object lockObject
- take a lock on that
lockObject
around every access to the dictionary
Related videos on Youtube
Author by
Tom
Updated on July 09, 2022Comments
-
Tom almost 2 years
whats is the easiest way to make C# dictionary access thread safe? Preferably just using lock(object) but any other ideas welcome!
-
Thus Spoke Nomad almost 9 yearsJust wonder, why "use a seperate lock object"?
-
Henk Holterman almost 9 years@MonoLightTech - a bit theoretical, but if code inside the Dictionary class itself or external code that needs to 'see' the collection also locks on it, you might have a deadlock. Use separation of concerns: the lockObject is for locking only.