CAS操作
代码大概如下
do { old_value = atomic_load(&c->count); // 获取当前值
//1
} while (!atomic_compare_exchange_weak(&c->count, &old_value, old_value + 1));
1处c->count可能被其他线程修改
代码大概如下
do { old_value = atomic_load(&c->count); // 获取当前值
//1
} while (!atomic_compare_exchange_weak(&c->count, &old_value, old_value + 1));
1处c->count可能被其他线程修改