如何设置disruptor的ClaimsStrategy buffersize

时间:2012-11-26 11:06:54

标签: disruptor-pattern circular-buffer

现在我正在使用disruptor,我得到了一个简单的consumer-productor示例。它运行完美,但我不知道buffersize的含义,我应该设置哪个大小?

private static final int BUFFER_SIZE = 4;

private final RingBuffer<StockEvent> ringBuffer =
    new RingBuffer<StockEvent>(StockEvent.EVENT_FACTORY,
                               new MultiThreadedLowContentionClaimStrategy(BUFFER_SIZE),
                               new YieldingWaitStrategy());
private final SequenceBarrier sequenceBarrier = ringBuffer.newBarrier();

BUFFER_SIZE是什么意思?

1 个答案:

答案 0 :(得分:1)

RingBuffer具有固定的阵列分配大小。它需要预先设置的缓冲区大小来启动所需的分配。建议保持这个大小超过11(记住bufferSize应该是2的幂),但这取决于主机和&amp;在您的架构上。