Здравствуйте, Mr.Delphist, Вы писали:
MD>Здравствуйте, VladD2, Вы писали:
VD>>Процессор не может атомарные операции переупорядочивать
MD>То, что операция атомарна, вовсе не мешает процессору переложить две из них местами, если он не видит между ними зависимости. Запрет для instructions reordering может быть внесён, например, при помощи memory barrier. А уж атомарны или неатомарны операции — роли не играет.
Подозреваю, Влад мыслит в контексте x86 без вариантов, а у x86 очень жёсткий порядок, там
>> Reads are not reordered with other reads. >> Writes are not reordered with older reads. >> Writes to memory are not reordered with other writes, (немного незначащих исключений) >> Locked instructions have a total order.
Остаётся только случай чтения после записи по другому адресу и оба не locked.