Напомним для тех .NET гуру, которые не могли бы знать о Java API:Имеет ли .NET реализацию словаря, эквивалентную Java ConcurrentHashMap?
ConcurrentHashMap в Java имеет атомное методы (т.е. не требуют внешнего запирания) для общего Карта операций модификации, такие как:
putIfAbsent(K key, V value)
remove(Object key, Object value)
replace(K key, V value)
Это также позволяет итерацию по набору ключей без блокировки (она берет копию в начале итерации), а операции get()
обычно могут чередоваться с вызовами put()
без блокировки (используется мелкозернистая блокировка с чередованием IIRC).
В любом случае, мой вопрос: . У .NET есть эквивалентная реализация словаря?
Я предполагаю, что в целом я хотел бы знать, имеет ли .NET более общий набор библиотек сбора потоковых данных. Или общие утилиты для параллелизма - эквивалент Doug Lea - java.util.concurrent
.
Вам действительно нужен тег java здесь? – 2008-11-12 10:25:30
Георгий - вы правы - это вопрос .net, а не Java. Тег удален. – serg10 2008-11-12 10:51:59
В моем проекте http://concurrent.codeplex.com/ есть словарь Sharded, который позволяет нескольким читателям и писателям и позволяет транзакции по определенным значениям. Он сильно развивается, хотя ... – Martin 2010-01-02 22:17:43