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