论坛首页 Java企业应用论坛

【并发编程】深入分析Volatile的实现原理

浏览 7470 次
精华帖 (1) :: 良好帖 (5) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2012-02-24  
ttttstttt 写道
intel cpu 偶地址访问,如果64bit由于某种原因横跨64bit cacheline,需要读两次
ChristmasLin 写道
对于cacheline pading一直有个疑问,1个64Byte的struct在内存中的布局可能是跨cacheline(64Byte)的,例如地址是[32,96]。这种情况应该是保证不了独占cacheline吧。

 

1个cacheline最多可以包含2个PaddedAtomicReference(只包含2个的一部分),但是可以保证PaddedAtomicReference里面可以修改的value在不同的cacheline。另外请问下楼主对lmax的 disruptor有没有相关的分析文章?

0 请登录后投票
   发表时间:2012-02-24  
ChristmasLin 写道
ttttstttt 写道
intel cpu 偶地址访问,如果64bit由于某种原因横跨64bit cacheline,需要读两次
ChristmasLin 写道
对于cacheline pading一直有个疑问,1个64Byte的struct在内存中的布局可能是跨cacheline(64Byte)的,例如地址是[32,96]。这种情况应该是保证不了独占cacheline吧。

 

1个cacheline最多可以包含2个PaddedAtomicReference(只包含2个的一部分),但是可以保证PaddedAtomicReference里面可以修改的value在不同的cacheline。另外请问下楼主对lmax的 disruptor有没有相关的分析文章?

怎么 保证 的 ? 

0 请登录后投票
   发表时间:2012-02-26  
ChristmasLin 写道
ttttstttt 写道
intel cpu 偶地址访问,如果64bit由于某种原因横跨64bit cacheline,需要读两次
ChristmasLin 写道
对于cacheline pading一直有个疑问,1个64Byte的struct在内存中的布局可能是跨cacheline(64Byte)的,例如地址是[32,96]。这种情况应该是保证不了独占cacheline吧。

 

1个cacheline最多可以包含2个PaddedAtomicReference(只包含2个的一部分),但是可以保证PaddedAtomicReference里面可以修改的value在不同的cacheline。另外请问下楼主对lmax的 disruptor有没有相关的分析文章?

可以看看这篇文章 http://www.jdon.com/jivejdon/thread/42452

0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics