Сoncurrent collections за 10 минут
https://habr.com/ru/post/473352/

Concurrency структуры в .net. ConcurrentQueue изнутри
https://habr.com/ru/post/245837/

Исходный код реализации.
eferencesource/mscorlib/system/collections/Concurrent/
https://github.com/microsoft/referencesource/tree/master/mscorlib/system/collections/Concurrent

ConcurrentDictionary

Best Practices for Using ConcurrentDictionary | Лучшие практики использования ConcurrentDictionary
https://arbel.net/2013/02/03/best-practices-for-using-concurrentdictionary/

How to improve performance of ConcurrentDictionary.Count in C#
https://stackoverflow.com/questions/41298156/how-to-improve-performance-of-concurrentdictionary-count-in-c-sharp
Уточнение: В некоторых случаях может иметь смысл создание собственной обертки над коллекции и ведения в ней собственного счетчика размера.
Контроль интерфейса обертки позволит четко отслеживать события вставки и удаления, для управления счетчиком можно использовать Interlocked операции.
При этом допускаются незначительные отклонения в значении счетчика размера.

 

Теги:
Создал(а) Alexandr Fokin 2021/05/15 14:38