C-Linux_定时器示例使用
发布日期:2021-05-09 04:34:14 浏览次数:15 分类:博客文章

本文共 881 字,大约阅读时间需要 2 分钟。

#include 
#include
static int count = 0;static struct itimerval oldtv;struct itimerval itv;void set_timer(){ itv.it_interval.tv_sec = 0; itv.it_interval.tv_usec = 990000; //启动后的定时器每隔990ms唤醒一次 itv.it_value.tv_sec = 0; itv.it_value.tv_usec = 50000; //定时器在50ms后启动 setitimer(ITIMER_REAL, &itv, &oldtv); //ITIMER_REAL表示每次定时器唤醒时将会触发SIGALRM信号}void shut_timer(){ itv.it_value.tv_sec = 0; //将启动参数设置为0,表示定时器不启动 itv.it_value.tv_usec = 0; setitimer(ITIMER_REAL, &itv, &oldtv);}void signal_handler(int m){ count ++; printf("%d\n", count); if(count==4) //调用4次后,关闭定时器 shut_timer();}int main(){ signal(SIGALRM, signal_handler); //将SIGALRM信号与signal_handler函数建立关系,当信号触发时便会调用该函数. set_timer(); while(count < 10000); exit(0); return 1;}

 

上一篇:C-Linux_毫秒级随机值获取
下一篇:49.Linux-wpa_cli使用之WIFI开启,扫描热点,连接热点,断开热点,WIFI关闭(49)

发表评论

最新留言

不错!
[***.144.177.141]2025年03月25日 19时19分16秒