disruptor
文章平均质量分 89
destiny4Y
java在学
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Disruptor源码解析六 示例与性能压测
1原创 2021-06-22 11:28:58 · 762 阅读 · 0 评论 -
Disruptor源码解析五 消费者的具体实现
前言 前一篇章节已经具体描述了消费者的串联方式,这里主要讲解一下消费者的具体实现。原创 2021-05-28 17:24:39 · 1014 阅读 · 0 评论 -
Disruptor源码解析四 消费者的组织串联
前言 之前介绍了RingBuffer和内部Sequencer的具体实现,disruptor的生产者操作直接用ringBuffer的相关接口调用即可。 本节主要解释一下,消费者的主要串联方式。 消费者架构 消费者的组织 一个生产者P1与三个消费者C1、C2、C3,C3的事件处理需要C1与C2先完成。则该模型结构如下: 代码详解 一个消费者的具体处理,必须实现 ...原创 2021-05-27 12:33:30 · 768 阅读 · 1 评论 -
Disruptor源码解析一 Disruptor高性能之道
简介 LMAX Disruptor是一个高性能的线程间消息库。它源于LMAX对并发性,性能和非阻塞算法的研究,如今构成了Exchange基础架构的核心部分。 Disruptor它是一个开源的并发框架,并获得2011 Duke’s 程序框架创新奖,能够在无锁的情况下实现网络的Queue并发操作。 Disruptor是一个高性能的异步处理框架,或者可以认为是最快的消息框架(轻量的JMS),也可以认为是一个观察者模式的实现,或者事件监听模式的实现。 运行架构 架构图: 具体运行示例图: 一原创 2021-05-11 11:20:53 · 1088 阅读 · 0 评论 -
Disruptor源码解析三 RingBuffer解析
前言 前面篇章介绍了下Sequence相关类,这里主要介绍下集成了Sequence类的disruptor主要结构RingBuffer。 主要内容 类的继承结构: 类的主要成员: RingBuffer的要点 避免缓存行伪共享 RingBufferFields中entries数组, 前后都加了缓存行填充避免伪共享。 预初始化 entries预先都用工厂类进行了构造 集成了Sequencer 使用的是SingleProducerSequencer 或者MultiProducerSeque.原创 2021-05-11 10:53:41 · 939 阅读 · 0 评论 -
Disruptor源码解析二 Sequence相关类解析
前言 之前介绍了disruptor的架构和性能对比,这里主要梳理一下disruptor的Sequence相关类。 主要内容 Sequence (一个序号, 内有缓存行优化和CAS, 可以类比AtomicLong理解) Sequenced (面向生产者的查询发布接口) -> Sequencer (序号生成器, 生产者发布, 消费者查询)-> AbstractSequencer -> SingleProducerSequencer MultiProducerS...原创 2021-05-09 23:28:01 · 1347 阅读 · 0 评论
分享