码迷,mamicode.com
首页 > 其他好文 > 详细

Proactor模型

时间:2020-03-01 14:14:22      阅读:72      评论:0      收藏:0      [点我收藏+]

标签:operation   event   应用程序   reactor   缓冲区   注册   队列   code   信息   

什么是Proactor模型?

Proactor是一种异步I/O模型,在Proactor 中直接由事件分发者处理一个事件的读写,而实际的工作由操作系统完成,发起时,需要提供的参数:包括用于存放读的数据的缓冲区,读的数据的大小,以及需要存放外发的数据的缓冲区,以及请求完后的回调函数的信息。事件分离者,得到这个请求后,等待事件完成,然后转发完成事件给回调或者事件处理者。

显然和reactor的区别就是:reactor是将有事件就绪就调用注册的函数进行读写,而Proactor 是由OS处理完后,才调用处理者处理。

 

技术图片

Proactor  的主要角色:

Handle:关心的文件描述符

Asynchronous Operation Processor:异步操作处理器;负责执行异步操作,一般由操作系统内核实现;

Asynchronous Operation:异步操作

Completion Event Queue:完成事件队列;异步操作完成的结果放到队列中等待后续使用

Proactor:主动器;为应用程序进程提供事件循环;从完成事件队列中取出异步操作的结果,分发调用相应的后续处理逻辑;

Completion Handler:完成事件接口;一般是由回调函数组成的接口;

Concrete Completion Handler:完成事件处理逻辑;实现接口定义特定的应用处理逻辑;

 

Proactor模型

标签:operation   event   应用程序   reactor   缓冲区   注册   队列   code   信息   

原文地址:https://www.cnblogs.com/lc-bk/p/12389471.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!