С ++ Память Барьеры для Атомики
Я новичок, когда дело доходит до этого. Может ли кто-нибудь дать упрощенное объяснение различий между следующими барьерами памяти?
ОкнаMemoryBarrier();
Забор_mm_mfence();
Встроенная сборкаasm volatile ("" : : : "memory");
Свойственный_ReadWriteBarrier();
Если нет простого объяснения, некоторые ссылки на хорошие статьи или книги, вероятно, помогут мне разобраться. До сих пор у меня было все в порядке с использованием объектов, написанных другими, обертывающими эти вызовы, но я хотел бы иметь лучшее понимание, чем мое нынешнее мышление, которое в основном соответствует нескольким способам реализации барьеров памяти под прикрытием.