该结构体是Linux系统中定义,struct timeval结构体在time.h中的定义为:
struct timeval
{
__time_t tv_sec; /* Seconds. */
__suseconds_t tv_usec; /* Microseconds. */
}itimerval:
其中,tv_sec为Epoch(1970-1-1零点零分)到创建struct timeval时的秒数,tv_usec为微秒数,即秒后面的零头
根据定义的结构体 :
struct itimerval {
struct timerval it_value; //从设定定时器开始计算,到第一次定时器生效的时间
struct timerval it_interval; //每两次定时器生效的时间间隔
};
- 如果it_value被设为0,系统无视it_interval的值并且终止timer,所以可以通过这种方式来使timer失效
- 如果it_interval被设为0,则timer在执行一次之后失效
待补充