CAS 锁简述

CAS:Compare And Swap

CAS有3个操作数,内存值V,旧的预期值A,要修改的新值B。当且仅当预期值A和内存值V相同时,将内存值V修改为B,否则什么都不做。

CPU去更新一个值,但如果想改的值不再是原来的值,操作就失败

do{   
       备份旧数据;  
       基于旧数据构造新数据;  
}while(!CAS( 内存地址,备份的旧数据,新数据 ))  

发表评论

电子邮件地址不会被公开。 必填项已用*标注