What do use in a multi-threaded environment?Dictionary with lock OR ConcurrentDictionary?
Doesn't Dictionary with lock make ConcurrentDictionary redundant?
As far as I understand to make dictionary thread safety we can just use lock to make sure other threads don't have access to the dictionary, why use ConcurrentDictionary ?
4 Replies
ConcurrentDictionary manages thread safety better than just using lock on dictionary operations
and you might forget to use lock or other developers so its better to make the collection thread safe if its crucial
My answer would be, its a ready made, time tested solution for accessing dictionary in a concurrent way.
Yes, if you need you can take the approach of manual locking, but for me, why reinventing the wheel, I would already have a lot of other logic to take care of
To be honest, ConcurrentDictionary provides some useful helper functions which aren't on normal Dictionary, so I'm sometimes tempted to reach for it even in non-concurrent situations
Unknown User•10mo ago
Message Not Public
Sign In & Join Server To View