Предотвращает ли модель памяти C++11 разрыв памяти и конфликты?

Читая черновик C++11, меня заинтересовал пункт 1.7.3:

Местом в памяти является либо объект скалярного типа, либо максимальная последовательность смежных битовых полей всех имеет ненулевую ширину. ... Два потока выполнения (1.10) могут обновлять и получать доступ к отдельным ячейкам памяти, не мешая друг другу.

Защищает ли этот пункт от условий гонки, связанных с аппаратным обеспечением, таких как:

  • невыровненный доступ к данным, когда память обновляется в двух транзакциях шины (разрыв памяти)?
  • если у вас есть отдельные объекты в системной памяти, например. два 16-битных целых числа со знаком в 32-битном слове, и каждое независимое обновление отдельных объектов требует записи всей единицы памяти (конфликт памяти)?
7
задан TheJuice 5 June 2012 в 12:13
поделиться