Как бы вы написали функцию на C, которая выполняет атомарное сравнение и заменяет целочисленное значение, используя встроенный машинный код (при условии, например, архитектуры x86)? Может ли он быть более конкретным, если он написан только для процессора i7?
Действует ли перевод как ограждение памяти, или он просто обеспечивает упорядочение только в той области памяти, которая включена в сравнение и подкачку? Насколько это дорого по сравнению с забором памяти?
Спасибо.