CAS

发布时间 2023-12-12 22:22:31作者: 林浅

比较并且替换算法

compare and swap的缩写,中⽂翻译成⽐较并交换,实现并发算法时常⽤到的⼀种技术。它包含三个

操作数——内存位置、预期原值及更新值。

执⾏CAS操作的时候,将内存位置的值与预期原值⽐较:

如果相匹配,那么处理器会⾃动将该位置值更新为新值,

如果不匹配,处理器不做任何操作,多个线程同时执⾏CAS操作只有⼀个会成功。

public class T3

{

volatile int number = 0;

//读取

public int getNumber()

{

return number;

}

//写⼊加锁保证原⼦性

public synchronized void setNumber()

{

number++;

}

}