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