一区二区三区日韩精品-日韩经典一区二区三区-五月激情综合丁香婷婷-欧美精品中文字幕专区

分享

ACE定時(shí)器

 書劍閣2013 2015-04-24

每一秒鐘打印一行

http://www./articles/Zb263e

計(jì)時(shí)器的打開和關(guān)閉封裝

http://andylin02./blog/440572


自己寫的簡(jiǎn)單計(jì)時(shí)器:程序開始之后2秒鐘之后執(zhí)行第一次到時(shí)觸發(fā)的動(dòng)作,以后每隔一秒鐘都會(huì)執(zhí)行相同的動(dòng)作;當(dāng)執(zhí)行總次數(shù)到達(dá)3次之后就終止計(jì)時(shí),整個(gè)程序退出,并停止事件監(jiān)聽,釋放資源

  1. #include <iostream>  
  2. #include "ace/Log_Msg.h"  
  3. #include "ace/Event_Handler.h"  
  4. #include "ace/Reactor.h"  
  5. #include "ace/Thread_Manager.h"  
  6.   
  7. bool stop_event_loop = false;//是否需要終止計(jì)時(shí)器服務(wù)  
  8.   
  9. class My_Timer_Handler : public ACE_Event_Handler  
  10. {  
  11. public:  
  12.     My_Timer_Handler(const int delay,const int interval);  
  13.     ~My_Timer_Handler();  
  14.     int handle_timeout(const ACE_Time_Value& , const void *act /* = 0 */);//計(jì)時(shí)器到期后執(zhí)行的回調(diào)函數(shù)  
  15. private:  
  16.     int n_;//循環(huán)計(jì)時(shí)的次數(shù)  
  17.     long time_handle_;//在計(jì)時(shí)器隊(duì)列中的ID  
  18. };  
  19.   
  20. My_Timer_Handler::My_Timer_Handler(const int delay,const int interval):n_(0)  
  21. {  
  22.     std::cout<<"My_Timer_Handler()"<<std::endl;  
  23.     this->reactor(ACE_Reactor::instance());  
  24.     this->time_handle_ = this->reactor()->schedule_timer(this,//在這里注冊(cè)定時(shí)器  
  25.         0,  
  26.         ACE_Time_Value(delay),//程序一開始延遲delay秒開始首次執(zhí)行到期函數(shù)  
  27.         ACE_Time_Value(interval));//循環(huán)計(jì)時(shí),每隔interval秒重復(fù)執(zhí)行  
  28. }  
  29.   
  30. My_Timer_Handler::~My_Timer_Handler()  
  31. {  
  32.     std::cout<<"~My_Timer_Handler()"<<std::endl;  
  33. }  
  34.   
  35.   
  36. int My_Timer_Handler::handle_timeout(const ACE_Time_Value& , const void *act /* = 0 */)  
  37. {  
  38.     if (++this->n_>3)  
  39.     {  
  40.         ACE_Reactor::instance()->cancel_timer(this->time_handle_);  
  41.         stop_event_loop = true;  
  42.         std::cout<<"cancle_timer"<<std::endl;  
  43.     }  
  44.     else  
  45.     {  
  46.         std::cout<<"my timer handler handled timeout"<<std::endl;  
  47.     }  
  48.   
  49.     return 0;  
  50. }  
  51.   
  52. int main(int argc, char* argv[])  
  53. {  
  54.       
  55.     My_Timer_Handler my_handle(2,1);  
  56.   
  57.     while (true)  
  58.     {  
  59.         if (stop_event_loop)  
  60.         {  
  61.             std::cout<<"stop handle time"<<std::endl;  
  62.             break;  
  63.         }  
  64.         ACE_Reactor::instance()->handle_events();  
  65.     }  
  66.   
  67.     return 0;  
  68. }  




運(yùn)行結(jié)果如下:

My_Timer_Handler()
my timer handler handled timeout
my timer handler handled timeout
my timer handler handled timeout
cancle_timer
stop handle time
~My_Timer_Handler()
請(qǐng)按任意鍵繼續(xù). . .


    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多

    欧美日韩亚洲巨色人妻| 亚洲欧美日韩精品永久| 欧美成人国产精品高清| 日韩在线免费看中文字幕| 久草精品视频精品视频精品| 日韩欧美综合中文字幕| 好吊妞视频这里有精品| 亚洲三级视频在线观看免费| 青青操成人免费在线视频| 免费观看成人免费视频| 国产精品一区二区三区日韩av| 亚洲一区二区三区在线免费| 真实国产乱子伦对白视频不卡| 国产精品九九九一区二区| 久久精品伊人一区二区| 欧美丝袜诱惑一区二区| 免费啪视频免费欧美亚洲| 欧美黑人黄色一区二区| 国产亚洲欧美日韩国亚语| 欧洲偷拍视频中文字幕| 97人摸人人澡人人人超碰| av在线免费观看在线免费观看| 国产精品美女午夜福利| 四十女人口红哪个色好看| 久久福利视频视频一区二区| 色无极东京热男人的天堂| 亚洲中文字幕免费人妻| 亚洲一区二区欧美在线| 亚洲精品国产福利在线| 欧美夫妻性生活一区二区| 91偷拍视频久久精品| 东京不热免费观看日本| 亚洲视频在线观看免费中文字幕| 黄色国产一区二区三区| 91老熟妇嗷嗷叫太91| 国产精品一区日韩欧美| 亚洲av又爽又色又色| 色偷偷亚洲女人天堂观看| 99久久国产亚洲综合精品| 日本一本在线免费福利| 国产一区在线免费国产一区|