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