Я прочитал главу, и мне это не очень понравилось. Мне все еще неясно, каковы различия между каждым порядком памяти. Это мои текущие предположения, которые я понял после прочтения гораздо более простых http://en.cppreference.com/w/cpp/atomic/memory_order
ниже неверно, так что не пытайтесь учиться у него
не Imerleax. Когда порядок выполняется из другого режима в другом атомном var < /li>
memory_order_consume: синхронизируют эту атомную переменную, однако он не синхронизирует расслабленные VAR, написанные перед этим. Однако, если поток использует var x при изменении Y (и выпускает его). Другие потоки, потребляющие Y, также увидят выпущенные x? Я не знаю, означает ли это, что этот поток выталкивает изменения x (и, очевидно, y) < /li>
memory_order_acquire: синхронизированные чтения этой атомной переменной и следят за тем, чтобы расслабились до синхронизации. (Означает ли это, что все атомные переменные на всех потоках синхронизируются?) Приобретает ли вы, так что вы не изменяете старое значение и выпускаете изменения. переменная?). < /li>
< /ul>
Я думаю, что понял, но поправьте меня, если я ошибаюсь. Я не мог найти ничего, что объясняет это в легко читать английский.
Подробнее здесь: https://stackoverflow.com/questions/123 ... order-mean