При рассмотрении межпроцессной синхронизации я стал реализовать эффективность этого поведения: атомные операции C ++ влияют на когерентность кэша на уровне адресов физической памяти, а общая память опирается на те же физические адреса. Тем не менее, это поднимает вопрос о гарантиях, предоставленных стандартом C ++, а именно, какова определенная область синхронизации в C ++, и что представляет собой поток в этом контексте? К сожалению, я не нашел никаких соответствующих ссылок в стандартной документации. Я предполагаю, что это поведение может быть определена в реализации.
Подробнее здесь: https://stackoverflow.com/questions/796 ... red-memory