9 实战解析高并发框架 Disruptor
9 实战解析高并发框架 Disruptor
1 概述
略。
2 Disruptor 理论基石:观察者模式
略。
2.1 自己动手实现观察者模式
- 范例 1 代码(观察者模式)
com.bltj.ch09.observer.Test
。
2.2 JDK 对观察者模式的支持
- 范例 2 代码(JDK 对观察者模式的支持)
com.bltj.ch09.observerjdk.Test
。注意 JDK 使用的是 Vector 容器存的观察者列表。
3 Disruptor 原理解析与典型案例
略。
3.1 Disruptor 核心概念
略。
3.2 使用 Disruptor 在 200ms 内处理千万字符
- 范例 3 代码(使用 Disruptor 在 200ms 内处理千万字符)
com.bltj.ch09.disruptor.DisruptorTest
。
3.3 使用 Disruptor 轻松实现复杂的依赖逻辑
- 范例 4 代码(多线程依赖协作)
com.bltj.ch09.disruptor.dependency.TestDisruptor
。 - 范例 5 代码(顺序依赖)
com.bltj.ch09.disruptor.dependency.TestDisruptor
。h1 和 h2 执行完后,再执行 h3。
3.4 通过案例讲解 RingBuffer 的两种使用方式
3.4.1 EventHandle + BatchEventProcessor 使用案例
- 范例 6 代码(并发处理-单线程)
com.bltj.ch09.disruptor.ringbuffer1.RingBufferTest
。
3.4.2 WorkerPool + WorkHandler 使用案例
- 范例 7 代码(并发处理-多线程)
com.bltj.ch09.disruptor.ringbuffer2.RingBufferTest
。 - 范例 8 代码(多生产者与多消费者)
com.bltj.ch09.disruptor.multi.Test
。
4 Disruptor 底层组件解析
略。
4.1 SequenceBarrier 原理精讲
略。
4.2 Sequencer 核心概念
略。
参考文献
- [亿级流量 Java 高并发与编程实战]