《基于Linux平台实现定时器功能》
2024-09-08 16:41:08
1.demo
static void sigHandFun(int signum)
{
struct itimerval itv; itv.it_interval.tv_sec = 5;
itv.it_interval.tv_usec = 0; itv.it_value.tv_sec = 0;
itv.it_value.tv_usec = 0;
setitimer(ITIMER_REAL, &itv, NULL);
} static int init_timer_to_set_wake_lock(void)
{
struct itimerval itv; if (SIG_ERR == signal(SIGALRM, sigHandFun)) {
perror("signal");
return -1;
} itv.it_interval.tv_sec = 5;
itv.it_interval.tv_usec = 0; itv.it_value.tv_sec = 5;
itv.it_value.tv_usec = 0; if (-1 == setitimer(ITIMER_REAL, &itv, NULL)) {
perror("setitimer");
return -1;
}
return 0;
}
demo中的定时器5秒定时后,会调用回调函数,然后就关闭定时器。如果要循环定时器,把回调函数里面的代码删掉就行了。
最新文章
- android PreferenceFragment
- Spark部署三种方式介绍:YARN模式、Standalone模式、HA模式
- MMORGP大型游戏设计与开发(客户端架构 part13 of vegine)
- 理解C#事件
- BZOJ3825 : [Usaco2014 Nov]Marathon
- EF中限制字段显示长度
- 总结Selenium自动化测试方法(六)常见的异常错误处理
- MVC 模型js远程校验的使用方法
- How to generate number Sequence[AX 2012]
- 关于Thinkphp3.2版本的分页问题
- 统一横轴墨卡托投影(UTM)
- 【HDU】5248-序列变换(贪心+二分)
- Servlet--转发和重定向
- 集合 set
- instr
- str和unicode类
- css之px自动转rem—sublime 插件CSSREM
- css3动画运用
- javascript的执行机制—Event Loop
- eclipsec常用快捷键