disruptor --神奇的缓存行填充2
来源:互联网 发布:淘宝不能复制宝贝 编辑:程序博客网 时间:2024/05/22 01:34
解决方案-神奇的缓存行填充
你会看到Disruptor消除这个问题,至少对于缓存行大小是64字节或更少的处理器架构来说是这样的(译注:有可能处理器的缓存行是128字节,那么使用64字节填充还是会存在伪共享问题),通过增加补全来确保ring buffer的序列号不会和其他东西同时存在于一个缓存行中。
1 public long p1, p2, p3, p4, p5, p6, p7; // cache line padding
2 private volatile long cursor = INITIAL_CURSOR_VALUE;
3 public long p8, p9, p10, p11, p12, p13, p14; // cache line padding
因此没有伪共享,就没有和其它任何变量的意外冲突,没有不必要的缓存未命中。
在你的Entry类中也值得这样做,如果你有不同的消费者往不同的字段写入,你需要确保各个字段间不会出现伪共享。
0 0
- disruptor --神奇的缓存行填充2
- disruptor --神奇的缓存行填充1
- 剖析Disruptor:为什么会这么快?(二)神奇的缓存行填充
- 剖析Disruptor为什么会这么快?神奇的缓存行填充
- 剖析Disruptor:为什么会这么快?(二)神奇的缓存行填充
- 剖析Disruptor:为什么会这么快?(二)神奇的缓存行填充
- 剖析Disruptor:为什么会这么快?(二)神奇的缓存行填充
- 剖析Disruptor:为什么会这么快?(二)神奇的缓存行填充
- 剖析Disruptor:为什么会这么快?(二)神奇的缓存行填充
- 剖析Disruptor:为什么会这么快?(二)神奇的缓存行填充
- 剖析Disruptor为什么会这么快?神奇的缓存行填充
- 剖析Disruptor:为什么会这么快?(二)神奇的缓存行填充
- 剖析Disruptor:为什么会这么快?(二)神奇的缓存行填充
- 剖析Disruptor:为什么会这么快?(二)神奇的缓存行填充
- 神奇的缓存行填充
- 神奇的缓存行填充
- CPU/内存/缓存行/Disruptor
- 一篇对伪共享、缓存行填充和CPU缓存讲的很透彻的文章
- 蓝桥杯单片机设计与开发笔记(一)
- .NET设计规范————命名规范
- 迷瘴
- poj1185
- 计算波兰表达式
- disruptor --神奇的缓存行填充2
- 大众点评Cat--Server模块架构分析
- Leetcode-Move Zeroes
- CSS初探
- 悼念512汶川大地震遇难同胞
- Gson、Jackson和FastJSON
- What is the difference between Simple, Advanced and Parameter data sets?
- 第五周项目二 游戏中的角色类(1)
- 懒虫小鑫