Необходим ли барьер памяти для обеспечения согласованности памяти? [закрыто]C++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 Необходим ли барьер памяти для обеспечения согласованности памяти? [закрыто]

Сообщение Anonymous »

После прочтения книги «Барьеры памяти: взгляд на аппаратное обеспечение для хакеров программного обеспечения» я пришел к выводу, в правильности которого я не уверен, как указано в заголовке. Я пришел к этому выводу, руководствуясь интуицией, исходящей от уровня кэша ЦП (в чем я тоже не уверен): поскольку протокол MESI и его семейства гарантируют согласованность, согласованность памяти требует, чтобы ограждения памяти синхронизировались между несколькими процессорами, и это требование будет отражать во внутреннюю структуру языка программирования.
Я попытался проверить это на своем ограниченном опыте:
  • Для C++ ограничивает непосредственно упоминаются в атомарных методах, хотя оба они применимы для обеспечения согласованности памяти;
  • Для Java, Atomic и Lock(AQS) используйте изменчивые внутри, который также использует ограничение памяти.
Поэтому мне интересно, является ли ограничение памяти окончательным решением этих проблем синхронизации. p>
Если этот пункт в названии слишком силен, я хотел бы задаться вопросом, справедлив ли этот пункт для какого-либо конкретного процессора, например x86, ARM и т. д.
Я очень ценю любые советы и ключевые слова.

Подробнее здесь: https://stackoverflow.com/questions/785 ... onsistency
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C++»