Linux —- 定时器setitimer


在编程的时候,很多时候会用到定时器,定时检测某个状态是否发生变化并进行处理。这时候,就会用到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

(0)
上一篇 2022年6月30日
下一篇 2022年6月30日

相关推荐

发表回复

登录后才能评论