Disruptor RingBuffer 理解

原文地址:http://ifeve.com/disruptor/
1、RingBuffer 是一个环形结构
2、RingBuffer 不会删除已经写到buffer中的数据,除非是有新的数据覆盖
3、每个数据写进来 都会有新的序号对应新的数据
4、读取RingBuffer 中的数据,所有消费者都可以读取所有的数据,按序号顺序读取
5、写入RingBuffer
5.1 ProducerBarrier (生产者屏障) 所有生产者与 RingBuffer 的交互都要通过ProducerBarrier
5.2 生产者提交数据 会首先向ProducerBarrier 申请当前可写入的下一个节点,如果有空余位置 就直接提交数据,
如果没有空余位置,ProducerBarrier 自旋 直到消费者 消费事件 空出多余的位置 才能提交数据。
5.3 如果多个 生产者并发提交数据 由ProducerBarrier 分配提交数据的位置序号 递增。

你可能感兴趣的:(Disruptor RingBuffer 理解)