CAS
一、什么是CAS
前面两篇文章提到CAS操作,那么CAS操作到底是什么东西呢?今天我们来了解一下CAS机制
CAS(Compare-And-Swap),它是一条CPU并发原语,用于判断内存中某个位置的值是否为预期值,如果是则更改为新的值,这个过程是原子的。CAS是一种系统原语,Java中利用原子操作类实现,指的是java.util.concurrent.atomic包下,一系列以Atomic开头的包装类。如AtomicBoolean,AtomicUInteger,AtomicLong。它们分别用于Boolean,Integer,Long类型的原子性操作。
我们来分析两段代码更好地理解一下CAS机制:
代码如下:
package CAS;
public class threadeg {
public static int count=0;
public static void main(String[] args) {
// TODO Auto-generated method stub
for(int i=0;i<2;i++) {
new Thread(
new Runnable() {
public void run() {
try {
Thread.sleep(10);
}catch