加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

Reactor模式理解

发布时间:2020-12-15 09:31:33 所属栏目:百科 来源:网络整理
导读:IO读取的两个阶段: 1.等待内核中数据准备? ?2.将数据从内核复制到进程 。? 不同的IO模型在两个阶段有不同的情况 ? Reactor模式 是处理多个客户端并发请求的事件模式。当请求到达时,服务端采用I/O多路复用策略,同步派发请求至相应的请求处理程序。 Reactor

IO读取的两个阶段:1.等待内核中数据准备? ?2.将数据从内核复制到进程 。?

不同的IO模型在两个阶段有不同的情况

?

Reactor模式 是处理多个客户端并发请求的事件模式。当请求到达时,服务端采用I/O多路复用策略,同步派发请求至相应的请求处理程序。

Reactor模式的5种角色构成:

1.handle(句柄):表示一种资源,如客户端的连接请求,数据等等

2.Synchronous event demultiplexer(同步事件分离器):用于轮询等待事件发生,调用方调用时会阻塞,直到有事件产生。如linux的epoll,java的Selector

3.Event handler(事件处理器):多个回调方法组成,进行业务逻辑的处理

4.Concret Event handler(具体事件处理器):事件处理器的实现

5.Initiation Dispatcher(初始分发器):实际就是Reactor角色,个人理解是Reactor模式中的管家。本身定义了规范,用于控制事件的调度方式。也提供了应用进行事件处理器的注册,删除。

?

Reactor流程:

1.初始化?初始分发器,将?具体事件处理器 注册进来,并将handle事件 对应

2.初始分发器 要求每个?具体事件处理器? 将对应的handle传递

3.初始分发器 使用?同步事件分离器 同步阻塞等待事件发生

4. 当某个handle 状态为ready,如socket变为等待读状态。?同步事件分离器 通知?初始分发器

5.初始分发器 触发?具体事件处理器的回调方法,响应此 handle

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读