CAS (Compare and Swap) 是一种并发控制技术,用于在多线程环境下实现原子操作。CAS 操作包括三个操作数:一个内存位置的值 V,一个期望的值 A,以及一个新值 B。CAS 将内存位置的值与期望的值进行比较,如果相等,则更新为新值 B。整个比较和更新操作是一个原子操作,能够保证在并发情况下不会出现数据不一致的问题。
在 Java 中,CAS 主要通过 Atomic 包下的类来实现,比如 AtomicInteger、AtomicLong 等。这些类提供了一系列的原子操作方法,如 compareAndSet()、getAndIncrement()、getAndSet() 等,可以用来实现线程安全的操作。CAS 在并发编程中被广泛应用,在保证性能的同时保证了线程安全。