【Spring】Spring @Contended注解有什么用?

在这里插入图片描述

文章目录

1.概述

在现代CPU中为了提高CPU的利用率,在CPU层面设计了L1/L2/L3三级缓存,缓存以缓存行为单位,进行数据的读取和写入。每个缓存行的大小通常是64个字节, 由于多核处理器的多个核心 ,在并行执行任务的时候,允许同时读取同一个数据缓存到缓存行中,那么就存在一个潜在的问题。

假设存在xy 2个变量,CPU1本来想读取x变量,但是因为缓存行的存在,他会读取到y变量,然后cpu2同理,一个cpu修改了数据并不会对另外一个cpu进行通知。

本文出自 csdn 九师兄,防伪标志,本文由九师兄唯一发布。原地址:https://blog.youkuaiyun.com/qq_21383435

因此就有了缓存一致性协议,如果一个缓存行在cpu1中被修改了,那么其他cpu的缓存行会失效,然后强制从缓存行再次读取。 如果xy分别在两个cpu钟被修改就会导致缓存行不停的失效,然后导致不停的被重新读取,导致性能下降。

这里可以参考&

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

九师兄

你的鼓励是我做大写作的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值