[Linux]Timer 定时器

来源:互联网 发布:大数据技术案例 编辑:程序博客网 时间:2024/05/20 23:37

本文,记录Linux 定时器的多种实现方案,并针对方案进行讨论。

定时器:周期性执行任务。

定时器与延时/睡眠函数并不相同,所以下面的方案需要区分实现。

方案:
  1. sleep()、usleep()
  2. alarm(),配合signal()
  3. setitimer()
  4. timer_create()
  5. select()

编程例子:
C-Practice-hand/timer
.├── exectue.sh├── Makefile├── timer01.c├── timer02.c├── timer03.c└── timer04.c

方案讨论:
  1. 定时精度
  2. 使用场合

参考文章:
  1. Linux 下定时器的实现方式分析 -IBM,链接
  2. Linux定时器的使用 ,链接
  3. Linux下定时器的使用及实现秒以下精确定时与休眠,链接

注意事项:
  1. man alarm:alarm() and setitimer(2) share the same timer; calls to one will fere with use of the other.也就是可能说明alarm于setitimer不能同时使用。
  2. setitimer():每个进程仅3种内部定时器,每种仅一个,不能重复使用。

原创粉丝点击