C语言怎么实现定时器 比如我现在要3分钟执行一次我的函数 怎么做。
|
Linux下的定时器:alarm()与setitimer()
http://blog.csdn.net/feiyinziiuxx/archive/2009/08/26/4488140.aspx
|
// init timer
void TimerFactory::init_timer()
{
struct itimerval value;
value.it_value.tv_sec = 1; // min interval 1 second
value.it_value.tv_usec = 0;
value.it_interval = value.it_value;
Setitimer(ITIMER_REAL, &value, NULL );
return;
}
// init signal
void TimerFactory::init_signal()
{
Signal(SIGALRM, on_alarm);
return;
}
// callback to do things when SIGALARM arrived
void TimerFactory::on_alarm(int signo)
{
// do things you like here.
return;
}
|
如果是c++,可以参考这个,里面有一个现成的类,或者用boost::asio库