
前言在 Java 并发编程中,CAS 是一个极其重要的核心概念。它的全称是 Compare And Swap(比较并交换),是一种无锁(lock-free)的非阻塞算法。简单来说,它就像是并发编程中的“乐观锁”基石,允许多个线程在不使用传统重量级锁(如 synchronized)的情况下,安全地实现原子操作JUC是java.util.concurrent包的简称,JUC有2大核心,CAS和AQS,CAS是java.util.concurrent.atomic包的基础,即AtomicInteger和AtomicLong等是用CAS实现的我在volatile相关文章中分享过volatile只能保证可见性,不能保证原子性。但原子类(AtomicInteger等可以保证原子性),原子类利用volatile+CAS来保证原子性,来看看怎么做到的吧。开5个线程,每个线程将count加1000@NotThreadSafepublicclass