Читая черновик C++11, меня заинтересовал пункт 1.7.3:
Местом в памяти является либо объект скалярного типа, либо максимальная последовательность смежных битовых полей всех имеет ненулевую ширину. ... Два потока выполнения (1.10) могут обновлять и получать доступ к отдельным ячейкам памяти, не мешая друг другу.
Защищает ли этот пункт от условий гонки, связанных с аппаратным обеспечением, таких как: