"One way to understand this is that Intel x86/64 processors, like most processor families, are allowed to reorder the memory interactions of machine instructions according to certain rules"
as long it never changes the execution of a single-threaded program.
single-threaded! Но если у нас multi-threaded ? то вот вам статья - что перестановка может случиться - там и код есть - можете скомпилить и убедиться
Многопоточных код надо писать с умом и дело тут не в порядке инструкций, а том в каком порядке их сайд эффекты видны другим ядрам
Про то что мультитред надо правильно синхронизировать для многих тут не секрет
Обсуждают сегодня