对volatile关键字的理解以及底层实现原理?

volatile是多线程共享静态变量时,保证共享变量的可见性。
底层原理:
底层是通过lock前缀指令实现的,它会锁定该内存区域的缓存(缓存行锁定),并回写到主内存。
这个回写操作会使其他CPU里缓存了该内存地址的数据失效。
在这里插入图片描述MESI缓存一致性协议
多个CPU从主内存中读取同一个数据到各自的高速缓存,当其中一个CPU修改了缓存里的数据,该数据会马上被同步回主内存,其他CPU通过总线嗅探机制可以感知到数据的变化从而将自己缓存里的数据失效。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值