1. 系统为每个进程维护三个计时器
- 1) 真实计时器:
程序运行的实际时间。 - 2) 虚拟计时器:
程序运行在用户态所消耗的时间。 - 3) 实用计时器:
程序运行在用户态和内核态所消耗的时间之和。
实际时间(真实计时器) = 用户时间(虚拟计时器) + 内核时间 + 睡眠时间
2. 为进程设定计时器
- 1) 用指定的初始间隔和重复间隔为进程设定好计时器后,该计时器就会定时地向进程发送时钟信号。
- 2) 三个计时器所发送的时钟信号分别为:
SIGALRM - 真实计时器
SIGVTALRM - 虚拟计时器
SIGPROF - 实用计时器 - 3) 获取/设置计时器
-
#include <sys/time.h>
-
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