Я прочитал в этой статье (прокрутите вниз ), что метод AddOrUpdate не выполняется в блокировке, поэтому это может поставить под угрозу потокобезопасность.
Мой код выглядит следующим образом:
Код: Выделить всё
//keys and bar are not the concern here
ConcurrentDictioanry foo = new ...;
foreach(var key in keys) {
foo.AddOrUpdate(key, new HashSet { bar }, (key, val) => {
val.Add(bar);
return val;
});
}
Подробнее здесь: https://stackoverflow.com/questions/124 ... update-ing