@sun.misc.Contended

博客探讨了程序运行中的缓存机制,重点在于一级、二级和三级缓存的作用。缓存行通常为64位,可能引发线程间的缓存伪共享问题。文章解释了当两个线程共享同一cell时,一个线程的修改会导致另一个线程的缓存行失效。为了解决这个问题,文章提出了使用contended技术,通过填充128个空位来避免缓存行的伪共享,从而提升并发性能。
摘要由CSDN通过智能技术生成

  1. 程序运行不是直接操作内存数据而是找缓存,缓存分为一级缓存,二级缓存,三级缓存
  2. 缓存数据叫做缓存行一般64bit 可以存储两个cell。
  3. 因为cell是数组两个线程操作数据共用一个cell,其中一个线程修改另一个缓存行会清除从内存中获取新值
  4. 而contended会填充128个空白进入缓存行从而解决缓存行伪共享问题   ;

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值