学习Linux环境高级编程中的信号处理中写的秒表计时器。
计时器是用来记录进程的运行时间的,系统会为每个进程记录三个计时器:
真实计时器:程序实际运行的时间
虚拟计时器:程序在用户态所消耗的时间
实用计时器:程序在内核态加用户态所消耗的时间之和
程序的实际运行时间=用户时间+内核时间+睡眠时间
使用计时器设置定时操作:
先设置一个时间a,表示时钟信号在a时间后发生,在设置一个时间b,表示每隔b时间来一次
int getitimer(int which, struct itimerval *curr_value);
功能:设置当前的时钟
which:计时器的类别
ITIMER_REAL/SIGALRM 真实计时器
ITIMER_VIRTUAL/SIGVTALRM 虚拟计时器
ITIMER_PROF/SIGPROF 实用计时器
int setitimer(int which, const struct itimerval *new_value,struct itimerval *old_value);
功能:设置新的时钟
which:计时器的类别
new_value:新设置的计时器
old_value:获取旧的计时器(不需要可以给NULL)
#include<stdio.h>
#include<sys/time.h>