Предположим, что для реализации функции Atom с помощью механизма сравнения и замены на языке высокого уровня, таком как c ++ или java, без использования атомарной инструкции X86, функция будет атомарной или нет.
int Atom(int* reg, int old_val, int new_val)
{
int old_reg_val = *reg;
if (old_reg_val == old_val)
*reg = new_val;
return old_reg_val;
}