函数原型:
参数1:用来指定定时方式
1)自然定时:ITIMER_REAL 14)SIGALARM
2)虚拟空间计时(用户空间):ITIMER_VIRTUAL 26)SIGVTALARM 只计算进程占用cpu的时间
3)运行时计时(用户+内核):ITIMER_PROF 27)SIGPROF 计算占用CPU以及系统调用的时间
参数2:传入参数
参数:传出参数
struct itimerval 结构体
itimerval中的it_value表示当前定时的时间,it_interval表示下一次闹钟的时间
timeval中的tv_sec表示秒数,tv_usec表示微秒数
示例:使用setitimer函数来计算电脑性能
#include<stdio.h>
#include<unistd.h>
#include<stdlib.h>
#include<sys/time.h>
unsigned int My_alarm(unsigned int sec)
{
struct itimerval it,oldit;
int ret;
it.it_value.tv_sec=sec; //秒数
it.it_value.tv_usec=0; //微秒
it.it_interval.tv_sec=0;
it.it_interval.tv_usec=0;
ret=setitimer(ITIMER_REAL,&it,&oldit);
if(ret==-1)
{
perror("setitimer error!");
exit(0);
}
return oldit.it_value.tv_sec;
}
int main()
{
int i=0;
My_alarm(1);
while(1){
printf("%d\n",i);
++i;
}
return 0;
}