标签: compare-and-swap
假设不使用X86的原子指令,而是通过比较交换机制以诸如c ++或java之类的高级语言实现一种称为Atom的功能,那么该功能是否为原子的。
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; }