每一秒钟打印一行
http://www.tuicool.com/articles/Zb263e
计时器的打开和关闭封装
http://andylin02.iteye.com/blog/440572
自己写的简单计时器:程序開始之后2秒钟之后运行第一次到时触发的动作,以后每隔一秒钟都会运行同样的动作;当运行总次数到达3次之后就终止计时,整个程序退出,并停止事件监听,释放资源
#include
#include "ace/Log_Msg.h"
#include "ace/Event_Handler.h"
#include "ace/Reactor.h"
#include "ace/Thread_Manager.h"bool stop_event_loop = false;//是否须要终止计时器服务class My_Timer_Handler : public ACE_Event_Handler
{
public:My_Timer_Handler(const int delay,const int interval);~My_Timer_Handler();int handle_timeout(const ACE_Time_Value& , const void *act /* = 0 */);//计时器到期后运行的回调函数
private:int n_;//循环计时的次数long time_handle_;//在计时器队列中的ID
};My_Timer_Handler::My_Timer_Handler(const int delay,const int interval):n_(0)
{std::cout<<"My_Timer_Handler()"<
}My_Timer_Handler::~My_Timer_Handler()
{std::cout<<"~My_Timer_Handler()"<
{if (&#43;&#43;this->n_>3){ACE_Reactor::instance()->cancel_timer(this->time_handle_);stop_event_loop &#61; true;std::cout<<"cancle_timer"<
{My_Timer_Handler my_handle(2,1);while (true){if (stop_event_loop){std::cout<<"stop handle time"<
}
执行结果例如以下&#xff1a;
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()
请按随意键继续. . .