Proactor设计模式
主動器Proactor
Proactor模式結(jié)構(gòu)
Proactor主動器模式包含如下角色
Handle 句柄;用來標(biāo)識socket連接或是打開文件;
Asynchronous Operation Processor:異步操作處理器;負責(zé)執(zhí)行異步操作,一般由操作系統(tǒng)內(nèi)核實現(xiàn);
Asynchronous Operation:異步操作
Completion Event Queue:完成事件隊列;異步操作完成的結(jié)果放到隊列中等待后續(xù)使用
Proactor:主動器;為應(yīng)用程序進程提供事件循環(huán);從完成事件隊列中取出異步操作的結(jié)果,分發(fā)調(diào)用相應(yīng)的后續(xù)處理邏輯;
Completion Handler:完成事件接口;一般是由回調(diào)函數(shù)組成的接口;
Concrete Completion Handler:完成事件處理邏輯;實現(xiàn)接口定義特定的應(yīng)用處理邏輯;
業(yè)務(wù)流程及時序圖
應(yīng)用程序啟動,調(diào)用異步操作處理器提供的異步操作接口函數(shù),調(diào)用之后應(yīng)用程序和異步操作處理就獨立運行;應(yīng)用程序可以調(diào)用新的異步操作,而其它操作可以并發(fā)進行;
應(yīng)用程序啟動Proactor主動器,進行無限的事件循環(huán),等待完成事件到來;
異步操作處理器執(zhí)行異步操作,完成后將結(jié)果放入到完成事件隊列;
主動器從完成事件隊列中取出結(jié)果,分發(fā)到相應(yīng)的完成事件回調(diào)函數(shù)處理邏輯中;
?
總結(jié)
以上是生活随笔為你收集整理的Proactor设计模式的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: redis:list的底层实现--压缩列
- 下一篇: 网络:301和302