Пример C ++ «Барьер памяти» [дубликат]

На этот вопрос уже есть ответ здесь:

С ++ Память Барьеры для Атомики 2 ответа

Я читал ответ на этот вопрос относительно ключевого слова volatile:

https://stackoverflow.com/a/2485177/997112

Человек говорит:

Решение для предотвращения переупорядочения заключается в использовании барьера памяти, который указывает и для компилятора, и для ЦП, что доступ к памяти не может быть переупорядочен через эту точку. Размещение таких барьеров вокруг нашего энергозависимого переменного доступа гарантирует, что даже энергонезависимые доступы выиграют »не может быть переупорядочен через изменчивый, что позволяет нам писать потокобезопасный код.

Тем не менее, барьеры памяти также гарантируют, что все ожидающие чтения / записи будут выполнены, когда барьер будет достигнут, так что он эффективно дает нам все, что нам нужно, сам по себе, делая volatile ненужным. Мы можем просто полностью удалить изменчивый классификатор.

Как это "барьер памяти " реализовано в C ++?

РЕДАКТИРОВАТЬ:

Может ли кто-нибудь привести простой пример кода, пожалуйста?

Ответы на вопрос(3)

Ваш ответ на вопрос