CAS

CAS 

CAS(比较并交换)是一种无锁算法,lock是对共享资源加了互斥锁;

CAS涉及三个操作数,内存地址V(即要修改的值的内存地址)、旧的预期值A和要修改的新值B,当且仅当旧的预期值A与内存地址V上的值一样时才把地址V上的值修改为新值B;

CAS伪代码表示如下:

do{

备份内存地址V上的值为旧的预期值A

基于旧的预期值A构造新值B

}while(! cas(内存地址V,旧的预期值A,新值B)

posted @ 2020-10-31 16:34  温故纳新  阅读(150)  评论(0编辑  收藏  举报