linux系统内核提供了间隔定时器。当设定的时候到了之后,定时器就会给相应的进程发送通知(通常是用信号SIGALARM),于是进程就可以进行相应的动作了。
linux提供了两个系统调用来使用间隔定时器
#include <sys/time.h>
int getitimer(int which, struct itimerval *curr_value);
int setitimer(int which, const struct itimerval new_value, _struct itimerval old_value);_
具体两个函数怎么使用,请大家man一下就ok了。
需要注意的是:linux为应用进程只提供一个定时器,如果一个应用程序需要用到多个定时器的话,需要自己实现(配合linux内核自带的链表)。
这就是本文的目的。
源代码
源代码还是贴到了oschina上了,大家点击下面的链接进入查看或者下载源代码吧: