В C ++ у нас есть летучие ключевое слово и класс Atomic . Разница между ними состоит в том, что волатильное не гарантирует, чтобы одновременное чтение и написание, безопасное для защиты от потока, но гарантирует, что компилятор не будет хранить значение переменной в кэше и вместо этого загружает его непосредственно из памяти, в то время как Atomic гарантирует, что согласованное поток. Параметры. Значение переменной, в то время как один или несколько потоков читают значение этой переменной. Это заставляет меня думать, что мы всегда читаем последнее значение, но я не уверен
Итак, мой вопрос: если мы объявляем переменную как Atomic ,
Мы всегда получаем последнее значение переменной при вызове Load () операция ?
Подробнее здесь:
https://stackoverflow.com/questions/530 ... test-value