Reactor反響器的完成辦法詳解。本站提示廣大學習愛好者:(Reactor反響器的完成辦法詳解)文章只能為提供參考,不一定能成為您想要的結果。以下是Reactor反響器的完成辦法詳解正文
年夜多半運用都邑應用ACE_Reactor::instance()供給的默許反響器實例。
然則你也能夠選擇本身的反響器,這是由於ACE應用了Bridge形式(應用兩個分歧的類:一個是編程接口,另外一個是完成,第一個類會把各個操作傳給第二個類)。
例如應用線程池反響器完成:
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實例
反響器的完成
1)ACE_Select_Reactor
除Windows以外的一切平台應用的默許反響器完成(select()函數)。
2)ACE_WFMO_Reactor
Windows上的默許反響器完成。
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()辦法,使得優先級更高的事宜會獲得先處置。
6)GUI集成式反響器
用於X Window System,擴大了ACE_Select_Reactor。
單線程運用,但同時既能呼應GUI時光(好比按鈕按下),又能呼應你本身的運用事宜。
QuickTime Reactor
FastLight Reactor
Tk Reactor
Xt Reactor