“反应堆模式”及其应用的简单解释

时间:2011-04-06 12:52:25

标签: design-patterns

反应堆模式在wikipedia中解释,它有点过于抽象。你能用更具体的方式描述这种模式吗?理想情况下,使用代码片段或描述反应器模式的一些应用的高级类图。

2 个答案:

答案 0 :(得分:37)

您可能需要查看描述它的原始论文http://www.dre.vanderbilt.edu/~schmidt/PDF/reactor-siemens.pdf

  

Reactor设计模式处理的服务请求   由一个或多个同时提交给应用程序   客户端。应用程序中的每个服务都可以包含   几个方法,由一个单独的事件处理程序表示   负责调度特定于服务的请求。   事件处理程序的调度由启动执行   调度程序,管理已注册的事件处理程序。   服务请求的解复用由a执行   同步事件多路分解器。

答案 1 :(得分:22)

反应器允许使用单个线程有效地处理阻塞(例如由于IO)的多个任务。 reactor管理一个处理程序池并运行一个事件循环。当它被调用以执行任务时,它将它与一个新的或空的处理程序链接,使其处于活动状态。事件循环(1)查找所有处于活动状态和未阻塞状态的处理程序(或将其委托给调度程序实现)(2)按顺序执行这些找到的处理程序中的每一个,直到它们完成或到达它们阻塞的点。已完成的处理程序变为非活动状态并且空闲以供重用,而阻塞的活动处理程序会产生,从而允许事件循环继续。 (3)来自步骤(1)的重复