Мне нужно иметь атомные переменные в моей программе. Раньше я использовал std::atomic<int>
, но платформа, на которой я сейчас работаю, не имеет компилятора g++, который поддерживает С++ 0x. Я использовал volatile int
и, похоже, работает, так как я еще не испытал состояние гонки в многоядерной системе, на которой я тестирую ее.
Мой вопрос: если volatile int
атомный, как std::atomic<int>
? Кроме того, создает ли барьеры памяти (что также требуется)?