当前位置: 首页 > news >正文

韩雪冬网站微信开放文档

韩雪冬网站,微信开放文档,wordpress 上传工具,免费的网站服务器目录1.背景简介2.伪共享问题3.问题解决4.JDK使用示例1.背景简介 我们知道,CPU 是不能直接访问内存的,数据都是从高速缓存中加载到寄存器的,高速缓存又有 L1,L2,L3 等层级。在这里,我们先简化这些复杂的层级…

目录

    • 1.背景简介
    • 2.伪共享问题
    • 3.问题解决
    • 4.JDK使用示例

1.背景简介

  • 我们知道,CPU 是不能直接访问内存的,数据都是从高速缓存中加载到寄存器的,高速缓存又有 L1,L2,L3 等层级。在这里,我们先简化这些复杂的层级关系,假设只有一级缓存和一个主内存。

  • CPU 读取和更新缓存的时候,是以行为单位进行的,也叫一个 cache line,一行一般 64 字节,也就是8个long的长度。

2.伪共享问题

一个缓存行可以放多个变量,如果多个线程同时访问不同的变量,而这些不同的变量又恰好位于同一个缓存行,那么会发生什么呢?

如上图所示,X 和 Y 为相邻 2 个变量,位于同一个缓存行,两个 CPU core1 和 core2 都加载了它们。

core1 更新 X,同时 core2 更新 Y,由于数据的读取和更新是以 缓存行 为单位的,这就意味着当这2件事同时发生时,就产生了竞争,导致 core1 和 core2 有可能需要重新刷新自己的数据(缓存行被对方更新了),最终导致系统的性能大打折扣,这就是伪共享问题。

3.问题解决

如下图:

如上图所示,我们把 X 单独占用一个缓存行,Y 单独占用一个缓存行,这样各自更新和读取,就不会有任何影响了

对应的操作就是在代码中使用 @sun.misc.Contended 注解。

4.JDK使用示例

例如在 JDK1.7 中 Thread 类中为 ThreadLocalRandom 增加的三个成员变量:

/*** 线程本地随机的当前种子。*/
@sun.misc.Contended("tlr")
long threadLocalRandomSeed;/*** 探测哈希值;如果线程本地随机种子被初始化,那么该值也非0。使用缓存填充(注解方式)来避免伪共享。*/
@sun.misc.Contended("tlr")
int threadLocalRandomProbe;/*** 从公共线程本地随机序列中分离的二级种子。*/
@sun.misc.Contended("tlr")
int threadLocalRandomSecondarySeed;

@sun.misc.Contended("tlr") 就会在虚拟机层面,帮助我们在变量的前后生成一些 padding,使得被标注的变量位于同一个缓存行,不与其他变量冲突。

在 Thread 对象中,threadLocalRandomSeedthreadLocalRandomSeedthreadLocalRandomSecondarySeed 被标记为同一组 tlr,使得这 3 个变量放置于一个单独的缓存行,而不与其它变量发生冲突,从而提高在并发环境中的访问速度。

整理完毕,完结撒花~

http://www.yayakq.cn/news/169658/

相关文章:

  • 顺德营销网站设计wordpress 书站
  • 沈阳网站托管公司wordpress关闭邮箱验证码
  • 两网站会员同步做网站价格公司
  • 网站的软文 怎么做推广wordpress底下固定
  • 网站维护会导致打不开网页吗?阿里云wordpress数据库备份
  • 怎么随便搞个网站上海网站报价
  • 平面设计难吗广州seo工资
  • 做pc端网站如何电子商务网站设计与维护论文
  • 门户网站建设好如何维护深圳网站建设认准乐云践新
  • php免费网站模板房地产网站建设存在问题
  • 网站群建设平台九龙坡集团网站建设
  • 可以做水果的团购网站有哪些哪个公司的网络最好用
  • 排名轻松seo 网站整站网站优化价格
  • 网页设计与制作大全网站建设优化培训班
  • 备案 添加网站可视化软件开发工具
  • 微信营销软件收费排行榜seo营销软件
  • 广西城乡和住房建设厅网站首页防晒霜营销软文
  • 网站常用字号免费主机空间免备案
  • 如何添加网站logo电子商务网站建设期末试题
  • 外贸网站建设行业发展情况 l设计是做什么的
  • 网站开通银行支付接口东平企业建站公司
  • 哈尔滨整站亚马逊插件WordPress
  • 百度云注册域名可以做网站明码广东微信网站制作公司哪家好
  • 网站开发交接广州h5网站开发
  • 公司网站开发详细流程深圳各区房价一览表
  • 高新企业建设网站价格在线制作非主流流光闪字 急切网
  • 韶关企业网站建设公司广告网站模板下载不了
  • meetsh网站建设佛山网站搜索引擎优化
  • 东莞网站推广定制公司企业网站推广技巧有哪些
  • 免费com网站域名注册安装vs2015网站开发