“反应堆模式”的解释
我能find的反应堆模式的唯一解释是在维基百科 ,它有点太抽象(imho)。 你能以更具体的方式来描述这个模式吗?理想情况下是用代码片段还是高层次的类图?
您可能需要检查描述它的原始文件http://www.cs.wustl.edu/~schmidt/PDF/reactor-siemens.pdf
Reactordevise模式处理由一个或多个客户端并发传送到应用程序的服务请求。 应用程序中的每个服务可能由多个方法组成,并由一个单独的事件处理程序来表示,该处理程序负责调度特定于服务的请求。 事件处理程序的分派由一个启动分派器执行,该分派器pipe理注册的事件处理程序。 服务请求的解复用由同步事件解复用器执行。
一个反应器允许多个任务阻塞(比如由于IO)使用单个线程进行高效处理。 反应器pipe理一个处理程序池并运行一个事件循环。 当它被调用来执行一个任务时,它将它与一个新的或空闲的处理程序链接起来。 事件循环(1)find所有处于活动和解除阻塞状态的处理程序(或将其委派给调度程序实现)(2)按顺序执行这些find的处理程序中的每一个,直到它们完成或到达它们阻塞的点。 完成的处理程序变为非活动状态,空闲以供重用,而阻塞的活动处理程序产生,允许事件循环继续。 (3)重复从步骤(1)