JavaGuide
JavaGuide copied to clipboard
关于Disruptor中填充了多少字节的补充
如下为 Java Guide网站上所述:
在源码中,一共有两个地方添加了无效数据填充来解决伪共享问题,一个是消费者和生产者的进度序号 Sequence,一个是 放置数据的环形数组 RingBuffer,如下:
- Sequence 中填充的无效字节:
- RingBuffer 中填充的无效字节主要包含在数组中,数组存储的数据并不是全部都是有效数据,而是 无效填充+有效数据 的组合,如下所示:
如下为 Java Guide网站上所述:
在源码中,一共有两个地方添加了无效数据填充来解决伪共享问题,一个是消费者和生产者的进度序号 Sequence,一个是 放置数据的环形数组 RingBuffer,如下:
- Sequence 中填充的无效字节:
- RingBuffer 中填充的无效字节主要包含在数组中,数组存储的数据并不是全部都是有效数据,而是 无效填充+有效数据 的组合,如下所示:
感谢补充,学到了,欢迎提交一个PR完善一下这部分内容,感谢!
PR:#2262
在源码中,一共有两个地方添加了无效数据填充来解决伪共享问题,一个是消费者和生产者的进度序号 Sequence,一个是 放置数据的环形数组 RingBuffer,如下:
