I'm confused about how Concurrent Dictionaries lock their resources.
For example, if I run a method that iterates over every item in the Dictionary and edits its value in a thread and I try to read the value of a key from another thread:
Will the second thread be accessing a snapshot of the Dictionary? If not, will it access the updated entry if that one has already been updated?