无锁并发框架Disruptor学习入门
刚刚听说disruptor,大概理一下,只为方便自己理解,文末是一些自己认为比较好的博文,如果有需要的同学可以参考。
本文目标:快速了解Disruptor是什么,主要概念,怎么用
1、Disruptor简介
Disruptor是什么?有什么特点/优点?
--Disruptor是一个用于在线程间通信的高效低延时的消息组件,它像个增强的队列。
--它是一个高性能、低延迟、使用简单的异步处理框架,或者可以认为是最快的消息框架(轻量的JMS),也可以认为是一个观察者模式实现,或者事件-监听模式的实现,直接称disruptor模式。
--disruptor最大特点是高性能,其LMAX架构可以获得每秒6百万订单,用1微秒的延迟获得吞吐量为100K+。
Disruptor 相对于传统方式的优点:
--无锁,没有竞争
--所有访问者都记录自己的序号的实现方式,允许多个生产者与多个消费者共享相同的数据结构
--缓存行填充,解决伪共享,提高cache命中率
--环形数组RingBuffer,避免GC开销
2、关键概念与原理
初学,大概过一遍,先有个印象:
Disruptor原理与编程实践 - CSDN博客 http://blog.csdn.net/jeffsmish/article/details/53572043
专题:Java并发框架剖析--Disruptor_51CTO.COM http://developer.51cto.com/art/201306/399370.htm
Disruptor 极速体验 - haiq - 博客园 http://www.cnblogs.com/haiq/p/4112689.html
并发框架Disruptor译文 | 并发编程网 – ifeve.com http://ifeve.com/disruptor/
高性能队列Disruptor系列2--浅析Disruptor - aheizi - 博客园 http://www.cnblogs.com/aheizi/p/6883062.html
3、如何使用
新建Maven工程,选择maven仓库找用户比较多的版本,加入依赖即可,我自己选择的目前最新版本3.3.7的。
敲了一遍代码,感觉由浅入深,根据下面的顺序来比较好,感受一下它的用法:
架构师入门笔记七 并发框架Disruptor快速入门 - ITDragon博客 - CSDN博客 http://blog.csdn.net/qq_19558705/article/details/77116949
架构师入门笔记八 并发框架Disruptor场景应用 - ITDragon博客 - CSDN博客 http://blog.csdn.net/qq_19558705/article/details/77247912
Disruptor入门-博客-云栖社区-阿里云 https://yq.aliyun.com/articles/20332#4
disruptor demo(三) 复杂一点的例子 - CSDN博客 http://blog.csdn.net/qian_348840260/article/details/38321371
转载于:https://www.cnblogs.com/chinas/p/7844918.html
无锁并发框架Disruptor学习入门相关推荐
- 每秒钟承载600万订单级别的无锁并行计算框架 Disruptor学习
1.来源 Disruptor是英国外汇交易公司LMAX开发的一个高性能队列,研发的初衷是解决内部的内存队列的延迟问题,而不是分布式队列.基于Disruptor开发的系统单线程能支撑每秒600万订单,2 ...
- java 无锁框架_高性能无锁并发框架 Disruptor,太强了!
Java技术栈 www.javastack.cn 关注优质文章 Disruptor是一个开源框架,研发的初衷是为了解决高并发下队列锁的问题,最早由LMAX提出并使用,能够在无锁的情况下实现队列的并发操 ...
- 【java并发编程】无锁并发框架disruptor
一.简介 Disruptor是一个高性能队列,研发的初衷是解决内部的内存队列的延迟问题,而不是分布式队列.基于Disruptor开发的系统单线程能支撑每秒600万订单. 使用场景:对延时要求很高的场景 ...
- 并发框架Disruptor(核心概念 入门 高性能原理-伪共享 CAS 环形数据 生产和消费模式 高级使用 )
并发框架Disruptor 并发框架Disruptor Disruptor概述 背景 什么是Disruptor 为什么使用Disruptor Disruptor 的核心概念 Ring Buffer S ...
- 你需要知道的高性能并发框架Disruptor原理
Disruptor的小史 现在要是不知道Disruptor真的已经很outer了,Disruptor是英国外汇交易公司LMAX开发的一款开源的高性能队列,LMAX Disruptor是一个高性能的线程 ...
- Java无锁并发详细教程
问题提出 有如下需求,保证 account.withdraw 取款方法的线程安全 package cn.itcast;import java.util.ArrayList; import java.u ...
- 高并发框架 Disruptor
1.Disruptor介绍 Disruptor是一个开源的Java框架,它被设计用于在生产者-消费者(producer-consumer problem,简称PCP)问题上获得尽量高的吞吐量(TPS) ...
- 并发框架disruptor(高性能内存Queue)
Disruptor是英国外汇交易公司LMAX开发的一个高性能队列,研发的初衷是解决内存队列的延迟问题(在性能测试中发现竟然与I/O操作处于同样的数量级).基于Disruptor开发的系统单线程能支撑每 ...
- 无锁并发的CAS为何如此优秀?
Talk is cheap CAS(Compare And Swap),即比较并交换.是解决多线程并行情况下使用锁造成性能损耗的一种机制,CAS操作包含三个操作数--内存位置(V).预期原值(A)和新 ...
- java disruptor压测_Java并发框架Disruptor实现原理与源码分析(二) 缓存行填充与CAS操作...
##缓存行填充 关于缓存行填充在我个人的印象里面第一次看到是在Java的java.util.concurrent包中,因为当时很好奇其用法背后的逻辑,所以查了很多资料才明白到底是怎么回事*(也许事实上 ...
最新文章
- 【重磅上线】思维导图工具XMind:ZEN基础问题详解合集
- cloudera之hadoop-0.20.1+152.tar.gz 安装出现找不到JAVA_HOME问题的解决办法
- modelsim-win64-10.1c的安装和基本使用
- 8 分钟了解 Kubernetes
- 【数据分析】年轻人如何才能实现年薪百万呢?
- corefx 源码学习:SqlClient 是如何同步建立 Socket 连接的
- shell的read方法使用介绍
- 【redis系列】redisTemplate缓存常用工具类
- 剑指Offer07题解-重建二叉树
- 服務端的EIT造形+Socket代碼
- 如何能写出,一份让 HR 认同的简历
- Angular 自定义loading组件
- 电脑主板跳线_电脑主板跳线连接图
- 电信版的华为EC6108V9C刷机
- python查询IP归属地
- 野山参怎么吃好,这样炖是不是效果最好
- wps插入入html,WPS文字技巧—如何在WPS文字中快速插入域
- 网络安全如何进行培训才有效
- ESP32公网对讲机
- 类库探源——System.String