最新文章列表

LMAX Disruptor—多生产者多消费者中,消息复制分发的高性能实现

解决的问题 当我们有多个消息的生产者线程,一个消费者线程时,他们之间如何进行高并发、线程安全的协调? 很简单,用一个队列。   当我们有 ...
yuqingshui 评论(0) 有593人浏览 2019-07-30 17:04

高性能队列——Disruptor

Disruptor是英国外汇交易公司LMAX开发的一个高性能队列,研发的初衷是解决内存队列的延迟问题(在性能测试中发现竟然与I/O操作处于同样的数量级)。基于Disruptor开发的系统单线程能支撑每秒600万订单,2010年在QCon演讲后,获得了业界关注。2011年,企业应用软件专家Martin Fowler专门撰写长文介绍。同年它还获得了Oracle官方的Duke大奖。 目前,包括Apa ...
yuqingshui 评论(0) 有391人浏览 2019-07-30 11:16

Disruptor应用实例

  Disruptor是什么可以阅读《高性能线程间队列DISRUPTOR简介》一文,下面重点讲讲在实际应用中如何去使用Disruptor。         项目结构如下: CreateReqEvent.java package com.bijian.study; import com.lmax.disruptor.EventFactory; public class Creat ...
bijian1013 评论(0) 有2085人浏览 2018-12-24 23:13

Disruptor的深度解析 (2) 生产者的写入

       本文主要讲一下Disruptor的写入部分,也就是生产者怎么将数据成功的写入RingBuffer                                                  写入RingBuffer需要关注的几个问题           1:如何避免生产者的生产速度过快而造成的新消息覆盖了未被消费的旧消息的问题           2:如何解决多个生产者抢 ...
粟谷_sugu 评论(0) 有961人浏览 2018-11-04 21:14

并发框架之Disruptor

Disruptor它是一个开源的并发框架 官方地址|:https://github.com/LMAX-Exchange/disruptor/wiki/Getting-Started https://github.com/LMAX-Exchange/disruptor public class LongEvent { private Long value; public L ...
oloz 评论(0) 有510人浏览 2018-03-16 15:03

Disruptor的简单介绍及使用

本文介绍的是版本是3.3.6的,参考了以下文章   http://11246272.blog.51cto.com/11236272/1745472 http://www.php.cn/java-article-370582.html http://zhangfengzhe.blog.51cto.com/885510 ...
357029540 评论(0) 有6052人浏览 2017-10-10 14:55

Disruptor并发框架

Disruptor:高效的并发组件(框架),可以认为是没有锁的生产者消费者模型,所以效率高,内部使用RingBuffer机制,做到无锁并发, 代码示例 Disruptor服务器 package com.gbcom.frame.disruptor; import java.util.concurrent.ExecutorService; import java.util.concurren ...
assertmyself 评论(0) 有1798人浏览 2016-12-07 10:17

disruptor的阅读笔记

如何实现事件的多播,一个事件被一个线程消耗后,变成了何种状态 如何实现的高性能,无锁,  
lyp2002924 评论(0) 有579人浏览 2016-05-18 09:10

关于disruptor 我要记录的

https://github.com/LMAX-Exchange/disruptor    
lyp2002924 评论(0) 有682人浏览 2016-04-29 14:36

Disruptor 极速体验

已经不记得最早接触到 Disruptor 是什么时候了,只记得发现它的时候它是以具有闪电般的速度被介绍的。于是在脑子里, Disruptor 和“闪电”一词关联了 ...
lixuguang 评论(0) 有126人浏览 2016-04-02 13:54

disruptor-3.3.2源码解析汇总

disruptor-3.3.2源码解析汇总   disruptor-3.3.2源码解析(1)-序列   disruptor-3.3.2源码解析(2)-队列   disruptor-3.3.2源码解析(3)-发布事件   disruptor-3.3.2源码解析(4)-处理事件   disruptor-3.3.2源码解析(5)-框架支持   完毕!   欢迎加入扣扣群一起 ...
BrokenDreams 评论(0) 有10468人浏览 2015-11-10 11:18

disruptor-3.3.2源码解析(5)-框架支持

disruptor-3.3.2源码解析(5)-框架支持 作者:大飞   更方便的使用Disruptor:        前面几篇看了Disruptor中的一些重要组件和组件的运行方式,也通过手动组合这些组件的方式给出了一些基本的用例。框架也提供了一个DSL-style API,来帮助我们更容易的使用框架,屏蔽掉一些细节(比如怎么构建RingBuffer、怎么关联追踪序列等), ...
BrokenDreams 评论(1) 有6134人浏览 2015-11-09 15:04

disruptor-3.3.2源码解析(4)-处理事件

disruptor-3.3.2源码解析(4)-处理事件 作者:大飞   Disruptor中如何处理事件:        disruptor中提供了专门的事件处理器接口,先看下接口定义: /** * 事件处理器会等待RingBuffer中的事件变为可用(可处理),然后处理可用的事件。 * 一个事件处理器通常会关联一个线程。 */ public interf ...
BrokenDreams 评论(1) 有6339人浏览 2015-11-09 14:52

disruptor-3.3.2源码解析(3)-发布事件

disruptor-3.3.2源码解析(3)-发布事件 作者:大飞   Disruptor中如何发布事件:        前面两篇看了disruptor中的序列和队列,这篇说一下怎么往RingBuffer中发布事件。这里也需要明确一下,和一般的生产者/消费者模式不同(如果以生产者/消费者的模式来看待disruptor的话),disruptor中队列里面的数据一般称为事件,Ri ...
BrokenDreams 评论(0) 有4050人浏览 2015-11-09 14:34

disruptor-3.3.2源码解析(2)-队列

disruptor-3.3.2源码解析(2)-队列 作者:大飞   Disruptor中的队列-RingBuffer:        RingBuffer是disruptor最重要的核心组件,如果以生产者/消费者模式来看待disruptor框架的话,那RingBuffer就是生产者和消费者的工作队列了。RingBuffer可以理解为是一个环形队列,那内部是怎么实现的呢?看下源 ...
BrokenDreams 评论(1) 有4405人浏览 2015-11-09 14:24

disruptor-3.3.2源码解析(1)-序列

disruptor-3.3.2源码解析(1)-序列 作者:大飞   Disruptor中的序列-Sequence:        disruptor中较为重要的一个类是Sequence。我们设想下,在disruptor运行过程中,事件发布者(生产者)和事件处理者(消费者)在ringbuffer上相互追逐,由什么来标记它们的相对位置呢?它们根据什么从ringbuffer上发布或 ...
BrokenDreams 评论(1) 有7355人浏览 2015-11-09 14:16

disruptor 异常封装小技巧

  disruptor部分代码流程控制使用的是异常,抛出自定义的异常,外层捕捉,下面是它封装的异常   直接贴代码: public final class AlertException extends Exception { /** * Pre-allocated exception to avoid garbage generation */ ...
abc08010051 评论(0) 有2238人浏览 2015-10-09 17:33

disruptor(二) MultiProducerSequencer

    在《disruptor(一) 单一生产者和WorkPool消费者源码阅读》介绍了单一生产者   当多个生产者向RingBuffer中写入数据时,创建Disruptor时要修改对应的参数:   Disruptor disruptor = new Disruptor(eventFactory, BUFFER_SIZE, executor, ProducerType.MULTI, ...
abc08010051 评论(0) 有3491人浏览 2015-10-09 17:09

disruptor(一) 单一生产者和WorkPool消费者源码阅读

 最近项目中有用到disruptor,提供一个类似队列或者数据容器的功能,并发能力很强   概念: Sequence:就是一个增长序列,类似oracle的增长序列,生产和消费程序都有Sequence,记录生产和消费程序的序列 Sequencer: 多个概念的一个组合,持有Sequence,等待策略等一些引用,生产者引用 SequenceBarrier:直接翻译就是序列屏障,就是Sequ ...
abc08010051 评论(2) 有7138人浏览 2015-10-09 11:45

最近博客热门TAG

Java(141747) C(73651) C++(68608) SQL(64571) C#(59609) XML(59133) HTML(59043) JavaScript(54918) .net(54785) Web(54513) 工作(54116) Linux(50906) Oracle(49876) 应用服务器(43288) Spring(40812) 编程(39454) Windows(39381) JSP(37542) MySQL(37268) 数据结构(36423)

博客人气排行榜

    博客电子书下载排行

      >>浏览更多下载

      相关资讯

      相关讨论

      Global site tag (gtag.js) - Google Analytics