反应堆模式在维基百科中解释,它有点过于抽象.你能用更具体的方式描述这种模式吗?理想情况下,使用代码片段或描述反应器模式的一些应用的高级类图.
ree*_*ese 38
您可能需要查看描述它的原始论文http://www.dre.vanderbilt.edu/~schmidt/PDF/reactor-siemens.pdf
Reactor设计模式处理由一个或多个客户端同时传递给应用程序的服务请求.应用程序中的每个服务可能包含多个方法,并由一个单独的事件处理程序表示,该处理程序负责调度特定于服务的请求.事件处理程序的调度由启动调度程序执行,该调度程序管理已注册的事件处理程序.服务请求的解复用由同步事件解复用器执行.
and*_*ate 22
反应器允许使用单个线程有效地处理阻塞(例如由于IO)的多个任务.reactor管理一个处理程序池并运行一个事件循环.当它被调用以执行任务时,它将它与一个新的或空的处理程序链接,使其处于活动状态.事件循环(1)找到所有处于活动状态和未阻塞状态的处理程序(或将其委托给调度程序实现)(2)按顺序执行这些找到的处理程序中的每一个,直到它们完成或到达它们阻塞的点.已完成的处理程序变为非活动状态并且空闲以供重用,而阻塞的活动处理程序会产生,从而允许事件循环继续.(3)步骤(1)的重复