Сравнить и поменять местами машинный код в C

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

Действует ли перевод как ограждение памяти, или он просто обеспечивает упорядочение только в той области памяти, которая включена в сравнение и подкачку? Насколько это дорого по сравнению с забором памяти?

Спасибо.

10
задан OMG Ponies 5 July 2011 в 03:38
поделиться