4.内核定时器的使用

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了4.内核定时器的使用相关的知识,希望对你有一定的参考价值。

下面代码是本人在项目中遇到使用定时器的一个例子,可以编译运行正确的结果

 1 #include <linux/timer.h>
 2 
 3 struct timer_list timer;    //内核定时器全局变量
 4 
 5 void timer_init()           //放在适当的地方,以便被正确地调用
 6 {
 7     timer.data = 0;
 8     timer.expires = jiffies + 1*HZ;
 9     timer.function = (int* )timer_handler;
10     add_timer(&timer);
11 }
12 
13 int timer_handler()         //时间到,系统自动调用.由于定时器已被安装到定时器链表中了
14 {
15     br_CNT = 0;             //真正的业务逻辑
16     mt_CNT = 0;             //真正的业务逻辑
17      
18     timer.data = 0;
19     timer.expires = jiffies + 1*HZ;
20     timer.function = (int* )timer_handler;
21     add_timer(&timer);      //时间到,原定时器销毁,故需重新安装
22     
23     return 0;
24 }
25 
26  del_timer(&timer);         //超时的时候,系统自动调用,但有时需要手动显示调用.注放置的位置

 

以上是关于4.内核定时器的使用的主要内容,如果未能解决你的问题,请参考以下文章

LinuxLinux5.4.70内核定时器的使用

LinuxLinux5.4.70内核定时器的使用

LinuxLinux5.4.70内核定时器的使用

Linux内核--并发

什么是在 C++ 中获取总内核数量的跨平台代码片段? [复制]

模仿linux内核定时器代码,用python语言实现定时器