disruptor总结
来源:互联网 发布:ebsco数据库 编辑:程序博客网 时间:2024/05/21 22:21
Disruptor是一个用于在线程间通信的高效低延时的消息组件,也是一个高性能的异步处理框架,或者可以认为是最快的消息框架(轻量的JMS),也可以认为是一个观察者模式的实现,或者事件监听模式的实现。 代码见工程D:\ws_study\workspace_spring\/Disruptor
1、在Disruptor中,我们想实现Helloworld需要如下几步骤:
第一:建立一个Event类
第二:建立一个工厂Event类,用于创建Event类实例对象
第三:需要有一个监听事件类,用于处理数据(Event类)
第四:我们需要进行测试代码编写。实例化Disruptor实例,配置一系列参数。然后我们对Disruptor实例绑定监听事件类,接受并处理数据。
第五:在Disruptor中,真正存储数据的核心叫做RingBuffer,我们通过Disruptor实例拿到它,然后把数据生产出来,把数据加入到RingBuffer的实例对象中即可。
参考D:\ws_study\workspace_spring\/Disruptor\base
2、对于单个生产者来说可以直接通过
private final RingBuffer<ValueEvent> ringBuffer = RingBuffer.createSingleProducer(ValueEvent.EVENT_FACTORY, BUFFER_SIZE, new YieldingWaitStrategy());获取RingBuffer,见D:\ws_study\workspace_spring\/Disruptor\generate2\Main1,也可以
//创建disruptorDisruptor<LongEvent> disruptor = new Disruptor<LongEvent>(factory, ringBufferSize, executor, ProducerType.SINGLE, new YieldingWaitStrategy());在并发系统中提高性能最好的方式之一就是单一写者原则,对Disruptor也是适用的。如果在你的代码中仅仅有一个事件生产者,那么可以设置为单一生产者模式来提高系统的性能。
3、生产实例见D:\ws_study\workspace_spring\/Disruptor\mytest
4、应用场景除了是最快的消息框架,业务场景中还可以处理复杂业务,如“四边形”和“六边形”,见D:\ws_study\workspace_spring\/Disruptor\mytest\generate2
参考文章:Disruptor入门
LMAX Disruptor——一个高性能、低延迟且简单的框架
阅读全文
0 0
- disruptor总结
- Disruptor学习总结(二):Disruptor分析
- Disruptor学习总结(一):Disruptor的使用
- Disruptor
- disruptor
- disruptor
- disruptor
- disruptor
- disruptor
- Disruptor
- Disruptor
- Disruptor
- Disruptor
- Disruptor
- Disruptor
- Disruptor
- disruptor
- Disruptor译文
- CentOS6.5安装openssl
- 何给背景图像使用CSS3变形
- 播放常见问题分析
- CRC校验
- jQuery -- touch事件之轮播图效果
- disruptor总结
- Ones and Zeroes
- Android开发中的单位换算
- RN踩坑之 Windows下打包生成APK
- 上传附件,附件类型问题
- Android好文收藏
- iOS开发
- JVM CPU 占用率高分析
- 软件测试面试必备的一些基础理论概念