Reactor反應器的實現(xiàn)方法詳解
大多數(shù)應用都會使用ACE_Reactor::instance()提供的默認反應器實例。
但是你也可以選擇自己的反應器,這是因為ACE使用了Bridge模式(使用兩個不同的類:一個是編程接口,另一個是實現(xiàn),第一個類會把各個操作傳給第二個類)。
例如使用線程池反應器實現(xiàn):
ACE_TP_Reactor* tp_reactor = new ACE_TP_Reactor;
ACE_Reactor* my_reactor = new ACE_Reactor(tp_reactor, 1);//1表示my_reactor銷毀時也要刪除tp_reactor
ACE_Reactor::instance(my_reactor, 1);//1表示在程序終止時刪除my_reactor實例
反應器的實現(xiàn)
1)ACE_Select_Reactor
除了Windows之外的所有平臺使用的默認反應器實現(xiàn)(select()函數(shù))。
2)ACE_WFMO_Reactor
Windows上的默認反應器實現(xiàn)。
3)ACE_Msg_WFMO_Reactor
應用COM/DCOM服務器。
4)ACE_TP_Reactor
擴展了ACE_Select_Reactor,允許它同時在多個線程中運行:線程池。
Leader/Follower模板,線程之一將成為領導者,并獲取反應器的所有權,以等待事件。
5)ACE_Priority_Reactor
也擴展了ACE_Select_Reactor。
使用了ACE_Event_Handler類中的priority()方法,使得優(yōu)先級更高的事件會得到先處理。
6)GUI集成式反應器
用于X Window System,擴展了ACE_Select_Reactor。
單線程應用,但同時既能響應GUI時間(比如按鈕按下),又能響應你自己的應用事件。
QuickTime Reactor
FastLight Reactor
Tk Reactor
Xt Reactor
相關文章
C++11運算符重載和向量類重載實例詳解(<<,>>,+,-,*等)
這篇文章主要給大家介紹了關于C++11運算符重載和向量類重載的相關資料,主要包括<<,>>,+,-,*等,文中通過示例代碼介紹的非常詳細,需要的朋友可以參考下2021-07-07c語言鏈表基本操作(帶有創(chuàng)建鏈表 刪除 打印 插入)
這篇文章主要介紹了c語言鏈表基本操作,大家參考使用吧2013-12-12C語言實現(xiàn)職工工資管理系統(tǒng)的示例代碼
這篇文章主要為大家詳細介紹了C語言如何實現(xiàn)職工工資管理系統(tǒng),文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2022-08-08C++11 <future>中std::promise 介紹
這篇文章主要介紹了C++11 <future>中std::promise 介紹,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2020-02-02