public class DisruptorExample { public static void main(String[] args) { EventFactory<Trade> eventFactory = Trade::new; int bufferSize = 1024; Disruptor<Trade> disruptor = new Disruptor<>(eventFactory, bufferSize, Executors.defaultThreadFactory()); EventHandler<Trade> consumer = (event, sequence, endOfBatch) -> System.out.println("Consuming event: " + event); disruptor.handleEventsWith(consumer); disruptor.start(); RingBuffer<Trade> ringBuffer = disruptor.getRingBuffer(); for (int i = 0; i < 10; i++) { long sequence = ringBuffer.next(); Trade trade = ringBuffer.get(sequence); trade.setPrice(Math.random() * 100); ringBuffer.publish(sequence); } disruptor.shutdown(); } }


上一篇:
下一篇:
切换中文