Disruptor 源码分析(5) 一个生产者和多个生产者的区别
disruptor一个生产者和多个生产者的区别
一个生产者的时候用的是SingleProducerSequencer,多个的时候用的是MultiProducerSequencer.
上一篇文章说到了他们在isAvailable方法上的不同,
SingleProducerSequencer直接用cursor去判断,应为只有一个生产者的cursor,所以是没问题的.
public long get() { return UNSAFE.getLongVolatile(paddedValue, VALUE_OFFSET); } public void set(final long value) { UNSAFE.putOrderedLong(paddedValue, VALUE_OFFSET, value); }