- 原理图
通俗理解:Proactor设计模式 事件处理好后,它通知我们他处理好了
Reactor设计模式 感知事件后通知用户来处理
-
Asynchronous Event Demultiplexer (异步事件分发器)
阻塞等待事件在完成事件队列中发生,并将完成的事件返回给其调用者。 -
Completion Handler (完成处理程序)
处理异步操作的结果,这些是函数对象,通常使用boost::bind创建,也就是回调函数 -
Proactor
调用Asynchronous Event Demultiplexer,分派与事件相关的处理程序(例如调用函数对象)。io_service就是这个抽象的一种表现形式。 -
Initiator
应用程序中启动异步操作的代码。 -
Asynchronous Operation
异步操作,例如异步读或者异步写。 -
Asynchronous Operation Processor
异步操作处理器,负责执行异步操作,并且将事件放入完成事件队列。 -
Completion Event Queue
将完成的事件缓冲直到异步事件解复用器从中将事件取出。
自己理解过程:首先在应用程序中启动异步操作,会创建一个Completion Handler(回调函数),