4.1 生产者
4.1.1 单生产者
相对于多生产者模型而言,单生产者模型显然更为简单,我们来看看他是怎么实现的:
// Disruptor
public void publishEvent(final EventTranslatorOneArg eventTranslator, final A arg) {
ringBuffer.publishEvent(eventTranslator, arg);
}
// RingBuffer
public void publishEvent(EventTranslatorOneArg translator, A arg0) {
long sequence = this.sequencer.next();
this.translateAndPublish(translator, sequence, arg0);
}
public long next() {
return this.next(1);
}
public long next(int n) {
if (n < 1) {
throw new IllegalArgumentException("n must be > 0");
} else {
// 获取上次数据写入位置
long nextValue = this.pad.nextValue;
// 获取本次数据写入位置
long nextSequence = nextValue + (long)n;
// 计算成环点
long