刚才在网上看了一些关于内核定时器的资料,了解到内核定时器是内核在未来的某个时间点调度执行某个函数的一种机制。内核定时器的使用如下,希望可以对我做linux大作业有所帮助。
主要需要定义一个timer_list变量timer、先初始化timer
init_timer(&timer);
接下来 对timer的相关参数赋值:
timer.function = fun;
timer.expires = jiffies + TIMER_DELAY;
add_timer(&timer);
在定时器时间到的时候,会执行fun,如果继续定时,可以通过
在fun中执行
mod_timer(&timer, jiffies + TIMER_DELAY);
在不需要的时候通过调用
del_timer(&timer);
删除定时器。
这样一个简单的定时器就完成了。好了,马上写个程序体验一下吧!