У меня есть такой код, который выполняется одновременно из нескольких потоков (над общими a
и b
объектами типа Dictionary<int, double>
):
foreach (var key in a.Keys.Union(b.Keys)) {
dist += Math.Pow(b[key] - a[key], 2);
}
Словари не меняются при жизни потоков. Это безопасно? Пока все в порядке, но я хотел быть уверенным.