Я полагаю, что все современные процессоры x86 используют протокол MESI . Таким образом, вращающийся поток «считывателя», скорее всего, будет иметь кешированную копию данных в «эксклюзивном» или «общем» режиме, не генерируя трафик шины памяти во время вращения.
Только когда другое ядро записывает данные в местоположение, оно должно будет осуществлять связь между ядрами.
[обновление]
Подобная «спин-блокировка» - хорошая идея, если вы не будете крутиться очень долго. Если может пройти некоторое время, прежде чем переменная будет обновлена, используйте вместо нее переменную условия mutex +, которая переведет ваш поток в спящий режим, чтобы он не добавлял накладных расходов во время ожидания.
(Кстати, я подозреваю, что многие люди, в том числе и я, задаются вопросом "что вы на самом деле пытаетесь сделать?")