🍀介绍 CAS(Compareandswap),即比较并交换。我们平时所说的自旋锁或乐观锁,其中的核心操作实现就是CAS。 🍀保证原子操作 CAS适用于保证原子操作不被干扰。原子操作即最小不可拆分的操作,也就是说操作一旦开始,就不能被打断,直到操作完成。在多线程环境下,原子操作是保证线程安全的重要手段。比如说,假设有两个线程在工作,都想对某个值做修改,就拿自增操作来说吧,要对整数i进行自增操作,需要做三个步骤: 从内存读取i的当前值 对i值进行加1操作 将i值写回内存 假设两个进程都读取了i的当前值,当前值为0。这时候A线程对i加1了,B线程也加1,最后i的是1,而不是2。 这是因为自...