1. CAS算法具体内容是啥?在 CAS 中,有三个值:V:要更新的变量(var)E:预期值(expected)N:新值(new)先判断 V 是否等于 E,如果等于,将 V 的值设置为 N;如果不等,说明已经有其它线程更新了 V,当前线程就放弃更新。2. CAS怎么保证数据原子性?CPU 会发出一个 LOCK 指令进行总线锁定,阻止其他处理器对内存地址进行操作,直到当前指令执行完成。3. 什么是 ABA 问题?ABA 问题指的是,一个值原来是 A,后来被改为 B,再后来又被改回 A,这时 CAS 会误认为这个值没有发生变化。可以使用版本号/时间戳的方式来解决 ABA 问题。 比如说,每次变量更新时,不仅更新变量的值,还更新一个版本号。CAS 操作时,不仅比较变量的值,还比较版本号。4.