在编程的时候,很多时候会用到定时器,定时检测某个状态是否发生变化并进行处理。这时候,就会用到setitimer函数了。
- 功能:设置定时器(闹钟)。可以替代alarm函数。精度微妙us,可以实现周期性定时
1. 头文件
#include <sys/time.h>
2. 函数原型
int setitimer(int which, const struct itimerval *new_value, struct itimerval *old_value);
参数:
– which : 定时器以什么时间计时
ITIMER_REAL: 真实时间,时间到达,发送 SIGALRM — 常用
ITIMER_VIRTUAL: 用户时间,时间到达,发送 SIGVTALRM
ITIMER_PROF: 以该进程在用户态和内核态下所消耗的时间来计算,时间到达,发送 SIGPROF信号
- new_value: 设置定时器的属性
1 struct itimerval { // 定时器结构体 2 struct timeval it_interval; // 两次定时任务之间的时间间隔 3 struct timeval it_value; // 设置定时器后多久开始执行定时任务 4 }; 5 6 struct timeval { // 时间结构体 7 time_t tv_sec; // 秒数 8 suseconds_t tv_usec; // 微秒 9 };
– old_value :记录上一次的定时的时间参数,一般不使用,指定NULL
– 返回值:
成功返回0,失败返回 -1 并设置错误号写入errno中。
原创文章,作者:dweifng,如若转载,请注明出处:https://blog.ytso.com/270848.html