CAS怎么保证操作原子性

解决并发问题的关键是保证读和写(业务中都是改写,例如动账)之间没有其他线程插一杠子执行写操作,即不会发生读(A)读(B)写(A)写(B)。怎么保证,写之前比较现在的值还是不是之前读到的值,是才写,即CAS。那又怎么保证CAS的原子性,硬件保证。

在针对多处理器操作而设计的处理器中提供了一些特殊指令,用于管理对共享数据的并发访问。这些指令足以实现各种互斥体,而这些互斥体又可以实现一些更复杂的并发现象。现在几乎所有现代处理器都包含某种形式的原子读-改-写指令,例如CAS。OS和JVM使用这些指令来实现锁和并发的数据结构。

引自《Java并发编程实战》

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值