“反应堆模式”及其应用的简单解释[关闭]

问题描述 投票:78回答:2

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

design-patterns
2个回答
37
投票

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

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


22
投票

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

© www.soinside.com 2019 - 2024. All rights reserved.