Все началось с одного собеседования, которое и натолкнуло меня к написанию данной статьи. Довольно большая часть разработчиков на платформе .Net не понимает базовые вещи, хотя и использует их повседневно, например lock-ом оборачивают все методы, использующие ConcurrentDictionary, хотя можно было бы обойтись обычным Dictionary<>. В науке существуют 3 основных способа реализации конкурентных структур данных: • Lock-free структуры данных; • Fine-grained блокировка; • Transactional memory implementation(транзакционная память); ConcurrentDictionary<TKey, TValue> — это thread-safe аналог Dictionary<TKey, TValue>. В его основе лежит, так называемый Fine-grained блокировка. [Читать дальше →][1]
[1]:
http://habrahabr.ru/post/245727/#habracut