Disruptor学习----综述
来源:互联网 发布:java log文件解析入库 编辑:程序博客网 时间:2024/05/18 02:32
Disruptor学习----综述
Disruptor是一个高效无锁消息队列,由LMAX公司开发并应用于金融交易,性能极高(https://github.com/LMAX-Exchange/disruptor)。
Disruptor设计的很巧妙运用(cas,cpu cache对数组友好支持等),感觉非常值得大家学下。Disruptor以其无锁实现生产者/消费者队列,带来了高性能,比锁快多,意味着锁的性能不理想。下面贴下disruptor文档中所展示的数据,锁啊,额滴神,这性能。
Method
Time (ms)
Single thread
300
Single thread with lock
10,000
Two threads with lock
224,000
Single thread with CAS
5,700
Two threads with CAS
30,000
Single thread with volatile write
4,700
其和兴就是RingBuffer
基本用法:
Disruptor<MyEvent> disruptor = newDisruptor<MyEvent>(MyEvent.FACTORY, 32, Executors.newCachedThreadPool());EventHandler<MyEvent> handler1 = newEventHandler<MyEvent>() { ... };EventHandler<MyEvent> handler2 = newEventHandler<MyEvent>() { ... };disruptor.handleEventsWith(handler1);disruptor.after(handler1).handleEventsWith(handler2);RingBuffer ringBuffer = disruptor.start();
- Disruptor学习----综述
- disruptor学习
- Disruptor学习总结(二):Disruptor分析
- disruptor学习笔记
- Disruptor学习地址
- Disruptor
- disruptor
- disruptor
- disruptor
- disruptor
- disruptor
- Disruptor
- Disruptor
- Disruptor
- Disruptor
- Disruptor
- Disruptor
- Disruptor
- js实现切换图片
- offsetWidth,offsetHeight,offsetLeft,offsetTop相关的小实验
- Linux查看cpu个数
- 扩展RBAC用户角色权限设计方案
- java抽象类,接口总结
- Disruptor学习----综述
- cloud foundry之router源码分析
- 颜色与十六进制值的互转
- iReport_3.7.6安装配置
- IBM websphere Message Broker 学习笔记 - 命令
- 长SQL语句
- Linux系统下如何查看物理内存占用率
- Android ViewPager分页功能
- 使用atoi 报错:cannot convert parameter 1 from '_TCHAR *' to 'const char *'