class Unit {
private readonly string name;
private readonly double scale;
public Unit(string name, double scale) {
this.name = name;
this.scale = scale,
}
public string Name { get { return name; } }
public string Scale { get { return scale; } }
private static Unit gram = new Unit("Gram", 1.0);
public Unit Gram { get { return gram; } }
}
Несколько потоков имеют доступ к Unit.Gram
. Почему это нормально для нескольких потоков одновременно читать Unit.Gram.Title
?
Меня беспокоит то, что они относятся к одному и тому же месту памяти. Один поток начинает считывать эту память, так разве не "блокируется"? Поддерживает ли .NET обработку синхронизации для этого критического раздела? Или я ошибаюсь, думая, что одновременное чтение нуждается в синхронизации?