Skip to content

Instantly share code, notes, and snippets.

Handler1-1 Event: 0,currentTimeMillis:1450267163741
Handler2-1 Event: 0,currentTimeMillis:1450267163741
Handler2-2 Event: 0,currentTimeMillis:1450267164242
Handler2-1 Event: 1,currentTimeMillis:1450267164741
Handler1-1 Event: 1,currentTimeMillis:1450267164742
Handler1-2 Event: 0,currentTimeMillis:1450267164742
Handler2-2 Event: 1,currentTimeMillis:1450267165241
Handler2-1 Event: 2,currentTimeMillis:1450267165741
Handler1-1 Event: 2,currentTimeMillis:1450267165742
Handler1-2 Event: 1,currentTimeMillis:1450267165742
disruptor.handleEventsWith(
(event, sequence, endOfBatch) -> {
System.out.println("Handler1-1 Event: " + event.get() + ",currentTimeMillis:" + System.currentTimeMillis());
Thread.sleep(1000);
}
).then(
(event, sequence, endOfBatch) -> {
System.out.println("Handler1-2 Event: " + event.get() + ",currentTimeMillis:" + System.currentTimeMillis());
}
);
Event1: 0,currentTimeMillis:1450262373034
Event1: 1,currentTimeMillis:1450262374035
Event1: 2,currentTimeMillis:1450262375035
Event1: 3,currentTimeMillis:1450262376036
Event1: 4,currentTimeMillis:1450262377036
Event1: 5,currentTimeMillis:1450262378037
Event1: 6,currentTimeMillis:1450262379038
Event1: 7,currentTimeMillis:1450262380039
public class DisruptorTest1 {
public static void main(String[] args) throws InterruptedException {
Executor executor = Executors.newCachedThreadPool();
int bufferSize = 1024;
Disruptor<LongEvent> disruptor = new Disruptor<>(LongEvent::new, bufferSize, executor, ProducerType.MULTI, new SleepingWaitStrategy());
disruptor.handleEventsWith(
(event, sequence, endOfBatch) -> {