
JVM / JUC Java中的CAS
CASCompareandSwapCAS即compareandswap比较与交换是一种乐观锁机制也叫无锁机制即不使用锁的情况下实现多线程之间的变量同步也就是在没有线程被阻塞的情况下实现变量的同步所以也叫非阻塞同步NonblockingSynchronizationCAS中涉及三个要素需要读写的内存值V进行比较的值A拟写入的新值B当且仅当预期值A和内存值V相同时将内存值V修改为B否则什么都不做CAS的原子性CAS操作是原子的这意味着它要么完全执行成功要么完全不执行即使在多线程环境中也不会有其他线程能够干扰CAS操作的执行使用volatile关键字修改变量x的过程但修改和写回操作不是原子性还是会有
2023-11-11 14:08 929 0 CAS