1

今私は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の意味は何ですか?

4

1 に答える 1

1

RingBuffer の配列割り当てサイズは固定です。必要な割り当てを開始するには、あらかじめ設定されたバッファ サイズが必要です。このサイズを 11 より大きくすることをお勧めします (bufferSize は 2 の累乗でなければならないことに注意してください) が、これはホスティング マシンとアーキテクチャによって異なります。

于 2012-11-27T13:52:27.553 に答える