LINUX.ORG.RU

История изменений

Исправление eao197, (текущая версия) :

Нужен, если мы говорим о случаях вроде shared memory, где компилятор будет уверен, что никто переменную менять не может и её можно кешировать.

Какую-такую переменную?

Если она в C++ атомарная (т.е. std::atomic<T>), то никакой volatile для нее не нужен.

Если она не атомарная, то тогда мы реально заходим на очередной круг вокруг рукопашной борьбы с барьерами. Только вот нахера это нужно и зачем кому-то трахаться с этими самыми барьерами решительно непонятно, если у нас уже есть std::atomic со всем этим вот из коробки.

Ну либо приведите пример кода, который бы подтверждал вашу мысль. Пример C++ного кода.

Исходная версия eao197, :

Нужен, если мы говорим о случаях вроде shared memory, где компилятор будет уверен, что никто переменную менять не может и её можно кешировать.

Какую-такую переменную?

Если она в C++ она атомарная (т.е. std::atomic<T>), то никакой volatile для нее не нужен.

Если она не атомарная, то тогда мы реально заходим на очередной круг вокруг рукопашной борьбы с барьерами. Только вот нахера это нужно и зачем кому-то трахаться с этими самыми барьерами решительно непонятно, если у нас уже есть std::atomic со всем этим вот из коробки.

Ну либо приведите пример кода, который бы подтверждал вашу мысль. Пример C++ного кода.