反应器模式
模式定义
反应器模式(Reactor pattern)是一种事件处理模式,用于处理从一个或多个输入并发的发送给单个服务处理器(service handler)的请求。服务处理器对请求进行多路分用(demultiplexes) —— 解析并分发(dispatcher)给请求处理器(service handler)。
反应器模式通常是单线程的,但是它可以在多线程系统中运行。
模式结构和说明
角色
资源
能够为系统提供输入,或者消费系统的输出。
同步事件多路分离器
即Synchronous Event Demultiplexer,负责运行事件循环, 在所有资源上阻塞。当可以在资源上执行异步操作时,此分离器将资源转给分发器(dispatcher)。
分发器
能够注册、解除注册请求处理器,分发来自Demultiplexer的资源给相应的请求处理器。
请求处理器
处理特定类型的资源。
应用举例
libevent
libevent是一个事件驱动编程库,可以在文件描述符上发生特定事件、超时后,执行相应的回调函数。回调函数还可以由信号、定时器触发。
Leave a Reply