CAS是什么

本文深入解析了CAS(compare and swap)机制,一种类似于乐观锁的工作原理,详细介绍了其在Java并发编程中的应用,特别是在java.util.concurrent.atomic包中如何使用CAS策略实现线程安全的操作。

CAS,即compare and swap (比较交换机制)。

他有点类似乐观锁的机制,但并不是锁。

假设:

//伪代码
//假设 V是原始值
// E为期望值
// N 为新值
CAS(V,E,N){
 //对V进行判断
}

如果V == E  ,那么V 的值就更新为N值

反之,如果不相等,那么就不做操作,再重复读取

借用一张图来说明问题。

此外,在

java.util.concurrent.atomic;

包中的所有方法都是使用的CAS策略

 

百度百科:

https://baike.baidu.com/item/CAS/16379801#viewPageContent

参考博文:

https://blog.youkuaiyun.com/mmoren/article/details/79185862 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值