<>reactor模式

reactor 模式的五大组成部分

image.png

对比


image.png

每一部分的理解

  • Handle

句柄或者描述符。 本质上是操作系统提供的一种资源。表示一个一个的事件。比如文件描述符,socket描述符。事件可以来自于外部,也可以来自于内部。所以 Handle是事件产生的发源地。

  • Synchrronous Event Demultiplexer (同步事件分离器)

本质上是一个系统调用。等待事件的发生。调用方在调用他的时候会被阻塞。一直到有事件为止。对于Linux来说,同步事件分离器就是I/0的多路复用机制。比如selct、poll、epoll 。在java nio中对应的就是 selector.select() 方法

  • Event Handler (事件处理器)

本身由多个回调方法组成。回调方法构成了应用相关的某个事件的反馈机制。

  • Concrete Event Handler (具体的事件处理器)

事件处理器的实现。通过事件对应的回调时间,实现具体的业务逻辑。对应的是netty中一个一个的自定义的handler

  • Initial Dispatcher (初始分发器)

实际上就是Reactor角色。本身是事件处理的核心所在。一旦事件发生。分发起就会调用事件处理器,调用相关的回调方法来处理这些事件。

你可能感兴趣的:(<>reactor模式)