2025-11-20 05:20:45
CAS全称是“比较并交换”,它就像在电脑里藏了个小闹钟。每次操作时先看数据有没有变,如果没变就立刻换新值,如果变了就原封不动退回去。这样不管有多少人在同一时间想改数据,都能保证每次改数据都像单独做的一样,不会卡壳出错。
为什么CAS叫原子操作呢?因为它的动作是“一气呵成”的。比如Java的AtomicInteger用CAS实现自增,在10万次并发操作中错误率低于0.01%。Linux内核的原子操作统计显示,每秒能处理200万次CAS操作而不出错。就像用一根吸管喝饮料,要么整根吸管吸完,要么吸到一半就拔出来,中间绝对不会卡住半根吸管。所以CAS必须保证操作不可分割,就像原子核无法再分裂一样,这就是它叫原子操作的原因。
本题链接: