linux 计时器

1. 系统为每个进程维护三个计时器

  • 1) 真实计时器:
    程序运行的实际时间。
  • 2) 虚拟计时器:
    程序运行在用户态所消耗的时间。
  • 3) 实用计时器:
    程序运行在用户态和内核态所消耗的时间之和。

实际时间(真实计时器) = 用户时间(虚拟计时器) + 内核时间 + 睡眠时间

2. 为进程设定计时器

  • 1) 用指定的初始间隔和重复间隔为进程设定好计时器后,该计时器就会定时地向进程发送时钟信号。
  • 2) 三个计时器所发送的时钟信号分别为:
    SIGALRM - 真实计时器
    SIGVTALRM - 虚拟计时器
    SIGPROF - 实用计时器
  • 3) 获取/设置计时器
  • #include

  • int getitimer (int which,struct itimerval* curr_value);

  • 获取计时器设置。成功返回0,失败返回-1。

  • int setitimer (int which,const struct itimerval* new_value,struct itimerval* old_value);

  • 设置计时器。成功返回0,失败返回-1。

  • ITI

你可能感兴趣的:(unix,linux)