Event
- 从生产者到消费者过程中所处理的数据单元;
- 在Disruptor框架中没有类表示Event,因为它完全是由用户定义的,在Disruptor框架中是用泛型表示的;
com.lmax.disruptor.EventProcessor
- 继承自java.lang.Runnable接口;
- 主要用于事件的循环,处理Disruptor中的Event,拥有消费者的Sequence;
- 它有一个实现类是com.lmax.disruptor.BatchEventProcessor,包含了event loop的有效实现,并且将回调一个com.lmax.disruptor.EventHandler接口的实现对象;
- 是Disruptor中最核心的方法,实现了run()方法,不断的轮询,获取数据对象,把数据对象交给消费者处理,具体怎么交给消费者,利用了消费者的等待策略;
- 其在run()方法中回调com.lmax.disruptor.EventHandler的实现对象,所有的Consumer都实现了com.lmax.disruptor.EventHandler接口;
com.lmax.disruptor.EventHandler
- 由用户实现并且代表了Disruptor中的一个消费者的接口,也就是消费者逻辑都要写在其中;
com.lmax.disruptor.WorkProcessor
- 在多生产者多消费者模式下,确保每个sequence只被一个processor消费,在同一个WorkPool中,确保多个WorkProcessor不会消费同样的sequence;