Спецификация C # говорит, что чтение и запись являются атомарными для 32-битных типов и меньше (а также для ссылок). Итак, если у меня есть поле Int32 в моем классе, я знаю, что несколько потоков могут читать и писать в него, и они будут атомарными в работе, поэтому значение всегда будет согласованным (хотя проблемы с кешированием являются потенциальной проблемой, но не в этом суть этого вопроса).
То же самое и в 64-битных системах? Если я скомпилирую приложение для 64-битной версии, означает ли это, что Int64 по-прежнему считается не атомарным? Или теперь я могу считать Int64 атомарным при чтении / записи, потому что он скомпилирован и работает в 64-битной системе?
Interlocked
- но это очень хороший вопрос. - person Marc Gravell   schedule 20.10.2011