Частично поточно-безопасный словарь
У меня есть класс, который поддерживает частныйDictionary
экземпляр, который кэширует некоторые данные.
Класс записывает в словарь несколько потоков, используяReaderWriterLockSlim
.
Я хочу выставить значения словаря вне класса.
Что такое потокобезопасный способ сделать это?
Прямо сейчас у меня есть следующее:
public ReadOnlyCollection<MyClass> Values() {
using (sync.ReadLock())
return new ReadOnlyCollection<MyClass>(cache.Values.ToArray());
}
Есть ли способ сделать это, не копируя коллекцию много раз?
Я использую .Net 3.5 (не 4.0)