博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
C-Linux_定时器示例使用
阅读量:5129 次
发布时间:2019-06-13

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

#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;}

 

转载于:https://www.cnblogs.com/lifexy/p/10283079.html

你可能感兴趣的文章
安装 Express
查看>>
包含列的索引:SQL Server索引的阶梯级别5
查看>>
myeclipse插件安装
查看>>
浙江省第十二届省赛 Beauty of Array(思维题)
查看>>
NOIP2013 提高组 Day1
查看>>
cocos2dx 3.x simpleAudioEngine 长音效被众多短音效打断问题
查看>>
存储(硬件方面的一些基本术语)
查看>>
观察者模式
查看>>
Weka中数据挖掘与机器学习系列之基本概念(三)
查看>>
Win磁盘MBR转换为GUID
查看>>
大家在做.NET B/S项目的时候多用什么设技术啊?
查看>>
Java SE和Java EE应用的性能调优
查看>>
Android设计模式系列--原型模式
查看>>
免费的论文查重网站
查看>>
C语言程序第一次作业
查看>>
leetcode-Sort List
查看>>
中文词频统计
查看>>
了解node.js
查看>>
想做移动开发,先看看别人怎么做
查看>>
Eclipse相关集锦
查看>>