|
-------------------------------
<linux/timer.h> struct timer_list {
struct list_head list;
unsigned long expires;
unsigned long data;
void (*function)(unsigned long);
};
--------------------------------
list 实现的时候使用的,和定时器功能无关
expires 是定时器定时的滴答数(当前的滴答数为 jiffies )
function 到那个时刻内核调用的函数
data 由于可能多个定时器调用一个函数,为了使得这个函数能够区分不同的定时器,
通过在结构中 data 来标识这个定时器,并且通过调用
function( data )
使得 function 能区分它们,也就是 data 起到 ID 的作用。
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
如何使用
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
将定时器加到定时器队列中
void add_timer(struct timer_list *timer)
修改定时器的到期时间
int mod_timer(struct timer_list *timer, unsigned long expires)
将定时器删除(以后这个定时器将不再起作用)
int del_timer(struct timer_list * timer)
|
定时器队列time_list
最新推荐文章于 2025-09-11 00:51:39 发布
本文详细介绍了Linux中定时器(timer)的结构与工作原理,包括定时器的实现方式、关键字段的作用,以及如何添加、修改和删除定时器。适用于希望深入了解Linux内核定时器机制的读者。
126

被折叠的 条评论
为什么被折叠?



