一、介绍
setitimer()创建一个间隔式定时器(interval timer),会在未来某个点到期,并于此后每隔一段时间到期一次
getitimer()获取定时器了解当前状态、距离下次到期的剩余时间
alarm()为创建一次性实时定时器提供简单的一个接口
二、接口函数
#include <unistd.h>
unsigned int alarm(unsigned int seconds);
参数:
seconds: 表示定时器到期的秒数,到期时会产生SIGALRM信号并发送给进程,因为是实时和setitimer中的ITIMER_REAL一样
注意: alarm 和 settimer都是针对同一进程的共享实时定时器,也就是两者改变都会影响对方
调用alarm()会覆盖定时器前一个设置,调用alarm(0)会屏蔽现有定时器
alarm()返回值是定时器前一个设置距离到期的剩余次数,如未设置定时器则返回0
返回值:
alarm()返回的是剩余定时器时间
#include <sys/time.h>
int setitimer(int which, const struct itimerval *new_value,
struct itimerval *old_value);
参数:
which: 指定不同类型的定时器
ITIMER_REAL: 创建以真实时间倒计时的定时器,到期时会产生SIGALRM信号并发送给进程
ITIMER_VIRTUAL:创建