之前了解过的muduo、Nginx都是Reactor
最近开始学Boost.Asio使用的Proactor模式
(一)Reactor简介
1.1 Reactor模式结构
1.2 Reactor包含如下角色
1.Handle 句柄:用来标识socket连接或是打开文件;
2.Synchronous Event Demultiplexer:同步事件多路分解器:由操作系统内核实现的一个函数;用于阻塞等待发生在句柄集合上的一个或多个事件;(如select/epoll;)
3.Event Handler:事件处理接口
4.Concrete Event HandlerA:实现应用程序所提供的特定事件处理逻辑;
5.Reactor:反应器,定义一个接口,实现以下功能:
1)供应用程序注册和删除关注的事件句柄;
2)运行事件循环;
3)有就绪事件到来时,分发事件到之前注册的回调函数上处理;