
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;}
发表评论
最新留言
不错!
[***.144.177.141]2025年03月25日 19时19分16秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
算法 - 链表操作思想 && case
2019-03-06
并发编程实战-ConcurrentHashMap源码解析
2019-03-06
C#之反射、元数据详解
2019-03-06
通俗易懂设计模式解析——单例模式
2019-03-06
通俗易懂设计模式解析——抽象工厂模式
2019-03-06
SSM商城项目(十二)
2019-03-06
第5章选择结构程序设计
2019-03-06
前端数据渲染及mustache模板引擎的简单实现
2019-03-06
设计模式系列之工厂模式三兄弟(Factory Pattern)
2019-03-06
OAuth2.0认证详解
2019-03-06
如何禁用控制台窗口的关闭按钮?
2019-03-06
Netflix是什么,与Spring Cloud有什么关系
2019-03-06
对象的可见性 - volatile篇
2019-03-06
端口重用
2019-03-06
为什么面试完,总是让你回去等通知?
2019-03-06
Java 中初始化 List 集合的 6 种方式!
2019-03-06
终于有人把 HTTPS 原理讲清楚了!
2019-03-06
别乱提交代码了,看下大厂 Git 提交规范是怎么做的!
2019-03-06
在滴滴和头条干了 2 年后端开发,太真实…
2019-03-06
送给你 12 个 Git 使用技巧!
2019-03-06