Есть ли какие-либо доступные реализации Хеш-таблицы, которые предоставляют потокобезопасности минимальную привязку.NET? Или на другом языке, который может быть портирован к.NET?
Мы ищем что-то промежуточное использование Словаря BCL <> класса с блокировкой () и приложение распределенного кэширования как memcached или Скорость.
Надлежащее использование для кэша с тысячами читателей, считывающих неизменные значения на основе ключей (или числа или гуиды, мы не решили который все же). Будет намного меньше устройств записи, возможно только один.
, начиная с .NET 4.0. Существует ConcurrentDictionary . Это структура стиля HASHTable, предназначенная для высокопроизводительного использования между несколькими нитями.
Подробная информация об этом использовании и реализации можно найти здесь:
в Какой лучший способ внедрения потокового словаря? Брайан Рудольф разделяет ссылку на беспечный словарь, который использует ReaderWriterLockSlim: http: / /devplanet.com/blogs/brianr/archive/2008/09/26/thrad-safe-dictionary-in-net.aspx.
Вы также можете посмотреть на синхронизированную htshtable: http://msdn.microsoft.com/en-us/library/system.coLlions.hashtable.aspx .