.NET 4.0 вы можете использовать BlockingCollection<T>
, но он по-прежнему предназначен для обеспечения безопасности потоков для всех операций, а не только для сложения.
Как правило, редко бывает проектировать структуру данных, которая гарантирует, что некоторые операции будут безопасны для параллелизма, а другие - нет. Если вы обеспокоены тем, что при доступе к коллекции для чтения возникают накладные расходы, вам следует провести некоторый сравнительный анализ, прежде чем пытаться найти специализированные коллекции для решения этой проблемы.