I am studying Disruptor in Java. I do not understand what's meaning of gating sequence. I know it core part is ring buffer and every buffer is associated with a sequence number.

有帮助吗?

解决方案 2

Actually the core part of LMAX's implementation is the Sequencer and its Sequences. And so the ringBuffer implement those. The gatingSequences that you are referring to act as a cursor to each Sequencer that is "Subscribed" to the targeted ringBuffer (or other Sequencer). So that's how a Sequencer can have multiple cursors for its connected Sequencers (and let them touch the next sequence by just calling tryNext() ).

Cheers!

其他提示

The purpose of gating sequences is to gate publishers to prevent the RingBuffer from wrapping.

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top