Proactor和Reactor模式_继续并发系统设计的扫盲
Proactor和Reactor模式_继续并发系统设计的扫盲6.6.2008 Kevin Lynx Proactor和Reactor都是并发编程中的设计模式。在我看来,他们都是用于派发/分离IO操作事件的。这里所谓的 摘抄一些关键的东西: "
根据这份图我随便写了个例子代码:
classAsyIOProcessor
{ public: voiddo_read() { //sendreadoperationtoOS //readiofinished.anddispatchnotification _proactor->dispatch_read(); } private: Proactor*_proactor; }; classProactor { public: voiddispatch_read() { _handlerMgr->onRead(); } private: HandlerManager*_handlerMgr; }; classHandlerManager { public: typedefstd::list<Handler*>HandlerList; public: voidonRead() { //notifyallthehandlers. std::for_each(_handlers.begin(),_handlers.end(),onRead); } private: HandlerList*_handlers; }; classHandler { public: virtualvoidonRead()=0; }; // applicationlevelhandler. classMyHandler: publicHandler { public: voidonRead() { // } };
其实就设计模式而言,我个人觉得某个模式其实是没有完全固定的结构的。不能说某个模式里就肯定会有某个类,类之间的 最近在看spserver的代码,看到别人提各种并发系统中的模式,有点眼红,于是才来扫扫盲。知道什么是leader> posted on 2008-06-06 13:25Kevin Lynx阅读(20572)评论(7)编辑收藏引用所属分类:network、模块架构 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |