所有类和接口
类
说明
表示屏障关联的生产者或消费者收到了特殊信号 - 其作用类似于中断。
阻塞等待策略 - 可以达到较低的cpu开销。
自旋等待策略
特征:极低的延迟,极高的吞吐量,以及极高的CPU占用。
消费者序号屏障
1.
消费者组
数据提供者
RingBuffer使用
EventFactory.newInstance()预创建对象预填充共享数据区。事件处理器
事件生成器
事件生成器是
Sequencer和DataProvider的集成,每一种实现通常都和数据结构绑定。Implementations translate (write) data representations into events claimed from the
RingBuffer.多生产者的无界缓冲区
注意:
1.
多线程消费者屏障
多生产者模型下的序号生成器
生产者序号屏障
1.
单生产者和多生产的主要差别在空间分配上(序号分配上)。
与Disruptor的设计不同,我将RingBuffer类仅仅设计为数据结构。
基于
RingBuffer的序列生成器。序列,用于追踪RingBuffer和EventProcessor的进度,表示生产/消费进度。
序号屏障
序号阻塞器
序号生成器
1.
单线程消费者屏障
单生产者序号分配器
(由用户保证不会并发的申请序号)
睡眠等待策略。
不打印堆栈的超时异常
阻塞等待策略 - 可以达到较低的cpu开销。
睡眠等待策略。
消费者等待策略
该策略在尝试一定次数的自旋等待(空循环)之后使用尝试让出cpu。