博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
linux下的C语言开发(定时器)
阅读量:5261 次
发布时间:2019-06-14

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

定时器是我们需要经常处理的一种资源。那linux下面的定时器又是怎么一回事呢?其实,在linux里面有一种进程中信息传递的方法,那就是信号。这里的定时器就相当于系统每隔一段时间给进程发一个定时信号,我们所要做的就是定义一个信号处理函数。

1 #include 
2 #include
3 #include
4 #include
5 #include
6 7 static int count = 0; 8 static struct itimerval oldtv; 9 10 void set_timer()11 {12 struct itimerval itv;13 itv.it_interval.tv_sec = 1;14 itv.it_interval.tv_usec = 0;15 itv.it_value.tv_sec = 1;16 itv.it_value.tv_usec = 0;17 setitimer(ITIMER_REAL, &itv, &oldtv);18 }19 20 void signal_handler(int m)21 {22 count ++;23 printf("%d\n", count);24 }25 26 int main()27 {28 signal(SIGALRM, signal_handler);29 set_timer();30 while(count < 10000);31 exit(0);32 return 1;33 }

 

转载于:https://www.cnblogs.com/elect-fans/archive/2012/08/02/2619225.html

你可能感兴趣的文章
Python并发编程01/操作系统发展史/多进程(理论部分)
查看>>
前端01 /HTML简单简绍
查看>>
python并发编程02/多进程
查看>>
Python网络编程02/基于TCP协议的socket简单的通信
查看>>
Python并发编程05/ 死锁/递归锁/信号量/GIL锁/进程池/线程池
查看>>
Python网络编程03/ low版解决粘包问题
查看>>
Python网络编程04/recv原理/高大上版解决粘包方式
查看>>
数据库01 /Mysql初识以及基本命令操作
查看>>
Python并发编程03/僵尸孤儿进程,互斥锁,进程之间的通信
查看>>
数据库02 /MySQL基础数据类型以及多表之间建立联系
查看>>
Python并发编程04/多线程
查看>>
前端03 /css简绍/css选择器
查看>>
Python并发编程06 /同步/异步调用/异步调用+回调函数
查看>>
前端06 /JavaScript之BOM、DOM
查看>>
数据库/MySQL的安装
查看>>
MySQL之存储引擎
查看>>
前端08 /jQuery标签操作、事件
查看>>
数据库03 /库、表、记录的详细操作、单表查询
查看>>
数据库04 /多表查询
查看>>
前端02 /HTML标签
查看>>