这段时间在学习Disruptor的使用,由于其使用略微复杂,所以记录一下防止忘记:
一、定义数据结构
这个数据可以是任何你需要用到的数据,作为一个类封装起来:
1 |
|
二、定义工厂类
工厂类负责提供事件对象:
1 | import com.lmax.disruptor.EventFactory; |
三、定义消息Handler
消息handler负责处理从队列中弹出的消息。
1 | import com.lmax.disruptor.EventHandler; |
四、创建disruptor对象
1 | OrderEventFactory orderEventFactory = new OrderEventFactory(); // 工厂对象 |
五、发送消息
1 | RingBuffer<OrderEvent> ringBuffer = orderEventDisruptor.getRingBuffer(); // 获取环 |
六、总结
通过以上几步即可发送消息,disruptor是一个性能非常高的内存队列,值得深入研究。