stackoverflow.com/questions/50657795/...
тветствии с Руководством разработчика программного обеспечения для архитектуры Intel 64 и IA-32 префикс сигнала LOCK «обеспечивает исключительное использование процессором какой-либо общей памяти при получении сигнала». Это может быть в виде блокировки шины или кэша.
Но - и именно поэтому я задаю этот вопрос - мне не ясно, обеспечивает ли этот префикс какой-либо барьер памяти.
Я разрабатываю с NASM в многопроцессорной среде, и мне нужно реализовать атомарные операции с опциональной семантикой получения и / или выпуска.
Итак, мне нужно использовать инструкции MFENCE, SFENCE и LFENCE или это будет излишним?