采纳答案成功!
向帮助你的同学说点啥吧!感谢那些助人为乐的人
看代码在com.lmax.disruptor.Sequence中会在value属性的左和右分别插入七个long,每个long占用七位. 而在ringbuffer中并没有看到p9, p10, p11, p12, p13, p14, p15.
我有如下问题:
为什么要在ringbuffer里加缓存呢?
不是加缓存,而是ringbuffer消除伪共享时对缓存行的操作和sequence有什么区别
seq是一个对象,他里面的value才是做出来的呀
老师还有一个问题,如果在64位机器上8个long一个缓存行,里面只有一个有效值(就像sequence父类的value属性一样),可是如果是在128位机器上disruptor是怎么处理的呢
是的,填充,我们需要并发访问的只有value
登录后可查看更多问答,登录/注册
专为Java工程师打造,并发编程高手养成与高薪面试深度课程
1.2k 6
873 9
912 8
826 7
748 6