C-Linux_定时器示例使用

#include <stdlib.h>
#include <signal.h> static int count = ;
static struct itimerval oldtv;
struct itimerval itv;
void set_timer()
{
itv.it_interval.tv_sec = ;
itv.it_interval.tv_usec = ; //启动后的定时器每隔990ms唤醒一次
itv.it_value.tv_sec = ;
itv.it_value.tv_usec = ; //定时器在50ms后启动
setitimer(ITIMER_REAL, &itv, &oldtv);
//ITIMER_REAL表示每次定时器唤醒时将会触发SIGALRM信号
} void shut_timer()
{
itv.it_value.tv_sec = ; //将启动参数设置为0,表示定时器不启动
itv.it_value.tv_usec = ;
setitimer(ITIMER_REAL, &itv, &oldtv);
} void signal_handler(int m)
{
count ++;
printf("%d\n", count);
if(count==) //调用4次后,关闭定时器
shut_timer();
} int main()
{
signal(SIGALRM, signal_handler); //将SIGALRM信号与signal_handler函数建立关系,当信号触发时便会调用该函数.
set_timer();
while(count < );
exit();
return ;
}
上一篇:python: HTML之 鼠标放上去下拉项字体显示不同颜色


下一篇:WordPress 后台提示输入FTP信息