首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 其他教程 > 开源软件 >

Reactor 中 Dispatcher 的引见

2013-09-28 
Reactor中 Dispatcher的介绍dispatcher是reactor的核心,顾名思义,就是一个分发器,用作事件的分发,当一个事

Reactor 中 Dispatcher 的介绍
dispatcher是reactor的核心,顾名思义,就是一个分发器,用作事件的分发,当一个事件到达,(即Reacot.notify被调用)最终会由dispatcher进行任务分发调度(dispatcher.dipatch)?

Dispatcher根据线程和队列分为下面几种dispatcher,系统现在默认为SynchronousDispatcher(不知道以后会不会变,之前默认的是BlockingQueueDispatcher)?

SynchronousDispatcher?
当一个事件到达时,直接由reactor所在的线程直接执行?

BlockingQueueDispatcher(eventloop)?
事件到达时先存储在一个Blockingqueue中,再由统一的后台线程一一顺序执行?

ThreadPoolExecutorDispatcher(threadpool)?
事件达到时将事件交由线程池统一调度。该线程池为固定大小线程池,(Executors.newFixedThreadPool)线程大小由配置文件指定。?

RingBufferDispatcher(ringbuffer)?
该dispatcher是吞吐量最高,使用了名头比较响的lmax的Disruptor构建的ringBuffer作为事件存储数组,其实就是一个不断递增,并可覆盖之前循环。

?

热点排行