还在苦苦敲代码开发APP?你out啦! 试试积木搭建APP吧~

Poco::Timer 用法剖析

来源:     2017-03-02 10:37:22    人气:     我有话说( 0 人参与)

Poco::Timer 提供了定时任务的功能,从线程池中创建一个线程,每隔一段时间让线程中的主体代码执行一次。其余时间此线程阻塞在Event.trywa...

Poco::Timer 提供了定时任务的功能,从线程池中创建一个线程,每隔一段时间让线程中的主体代码执行一次。其余时间此线程阻塞在Event.trywait(long seconds)调用上,来达到定时的目的。

 

我认为这个功能的一个遗憾是没有提供在一个给定时间执行线程的构造函数。构造函数有两个参数,一个是两次执行之间的时间间隔;另一个是初次执行时的延时。

对定时任务的主体代码要用TimerCallback模版类进行包装。注意callback的函数参数是Timer&.

demo

void TimerTest::testTimer()
{
    Timer t(100, 200);
    TimerCallback<TimerTest> tc(*this, &TimerTest::onTimer);

    t.start(tc);
    //t.stop();
}
void TimerTest::onTimer(Timer& timer)
{
    std::cout << "hello" << std::endl;
}

Poco::Timer

本文源自互联网,采用知识共享署名-非商业性使用 4.0 国际许可协议进行许可,
版权归原作者,如有问题请联系service@tsingfun.com (编辑:admin)
分享到: