C++ 使用Poco库的定时器
flyfish
简单的使用方式
#include <iostream>
#include <Poco/Timer.h>
#include <Poco/Thread.h>
#include <Poco/File.h>
#include <memory>
#include<Poco/Timestamp.h>
#include <chrono>
class TestTimerExample
{
public:
void onTimer(Poco::Timer& t)
{
Poco::File my_file("/home/a/test.xml");
if (my_file.exists())
{
Poco::Timestamp ts=my_file.getLastModified();
std::time_t tt= ts.epochTime();
std::cout << std::asctime(std::localtime(&tt))<<std::endl;
std::cout << tt<<std::endl;
}
}
};
int main ( int argc, char *argv[] )
{
long test_time = 10000;
long startInterval = 1000;
long periodicInterval = 500;
TestTimerExample te;
Poco::Timer timer(startInterval, periodicInterval);
timer.start(Poco::TimerCallback<TestTimerExample>(te, &TestTimerExample::onTimer));
std::cout << "main thread sleep" << std::endl;
Poco::Thread::sleep(test_time);
timer.stop();
return 0;
}
|