标签:Completion 异步 处理 模型 事件 完成 Proactor
什么是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:完成事件处理逻辑;实现接口定义特定的应用处理逻辑;
标签:Completion,异步,处理,模型,事件,完成,Proactor 来源: https://www.cnblogs.com/lc-bk/p/12389471.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。