【发布时间】:2012-12-05 12:00:35
【问题描述】:
我正在学习 Java 中的 Disruptor。我不明白门控序列的含义。我知道它的核心部分是环形缓冲区,每个缓冲区都与一个序列号相关联。
【问题讨论】:
我正在学习 Java 中的 Disruptor。我不明白门控序列的含义。我知道它的核心部分是环形缓冲区,每个缓冲区都与一个序列号相关联。
【问题讨论】:
门控序列的目的是对发布者进行门控,以防止 RingBuffer 包装。
【讨论】:
实际上LMAX实现的核心部分是Sequencer和它的Sequences。所以ringBuffer 实现了这些。您所指的gatingSequences 充当每个“订阅”到目标ringBuffer(或其他Sequencer)的Sequencer 的光标。这就是Sequencer 可以为其连接的Sequencers 拥有多个光标的方式(并让它们通过调用tryNext() 来触摸下一个sequence)。
干杯!
【讨论】: