If I have a ConcurrentDictionary object ConcurrentDictionary<int, Dictionary<string, string>>() dict;, is the nested Dictionary locked when operations are being performed on the outer ConcurrentDictionary?
Scenario: an outer ConcurrentDictionary outerDict is performing an
outerDict.Add(42, new Dictionary<string, string>())
on one thread, and, on another thread (simultaneously), an inner Dictionary is performing an
outerDict[30].Add("hello", "world").
Is concurrency applied to the modification of both the outer ConcurrentDictionary and the nested Dictionary in the above scenario, or are both operations performed at the same time?