Существует параллельный словарь, который собирает информацию из разных источников и один раз в минуту должен обновляться и передавать собранные данные другому обработчику.Ожидает, что все потоки закончат запись в ConcurrentDictionary
var currentDictionarySnapshot = _currentDictionary;
_currentDictionary = new ConcurrentDictionary<int, string>();
return new ReadOnlyDictionary<int, string>(currentDictionarySnapshot);
Что мне нужно сделать currentDictionarySnapshot
ждать для всех потоков, которые имеют ссылки на него, чтобы закончить запись и создать новую ReadOnlyDictionary
только после того, как. Поддерживает ли он ConcurrentDictionary
или как это можно сделать, если это не так?
вы можете использовать 'Task.WhenAll (Task1, Task2, ...);' method – chouaib
Мои методы письма не являются асинхронными, и даже если бы это было так, было бы беспорядочно отличать задачи первичного словаря и моментального снимка. – Sovent