如果密钥已经在字典中,是否可以安全地设置Dictionary <tkey,tvalue> .Item [TKey]属性线程?

时间:2018-10-04 04:08:49

标签: c# dictionary thread-safety

在开始之前,我已经读过this,但我认为它不能回答我的问题。

我正在写一种更新字典值的方法。 我不会插入或删除任何键

我打算这样做:

private static void Example(Dictionary<Individual, float> dict) {
            var keys = dict.Keys.ToArray();

            Parallel.For(0, keys.Length, i => {
                var key = keys[i];
                var newValue = DoHardMath(key);
                dict[key] = newValue;
            });         
        }

这是线程安全的吗? documentation不清楚。

1 个答案:

答案 0 :(得分:2)

您的问题非常具体,但是ConcurrentDictionary可以避免焦虑。

Docos位于: