У меня есть массив, к которому периодически обращаются несколько потоков примерно каждую секунду (один поток писем и один или два считывателя).Использование ConcurrentBag вместо массивов (многопоточность)
После поиска я изначально думал об использовании операторов «Lock» или «Monitor» для защиты критического кода (Насколько я понимаю, критический код в моем случае - тот, который записывает в массив).
Затем я обнаружил, что .Net 4.x представила новый Concurrent Collections, который мне показался, что он мне подходит.
Таким образом, вместо использования массива я буду использовать ConcurrentBag только для безопасного потока. Согласны ли вы со мной, что небольшие накладные расходы на использование этого списка (ConcurrentBag) действительно того стоят? или вы рекомендуете другую коллекцию?
Примечание: Мне не нужна сортировка, динамическое изменение размера или любая другая операция в этом массиве \ list. Это будет фиксированная длина и понадобится для чтения и записи
Заранее спасибо.
Невозможно представить, не видя более подробных сведений о том, что вы делаете. Вам также необходимо синхронизировать чтения, если вы одновременно записываете одни и те же данные. – usr