Linux 中的IPC(五)----定时器(Timer)
来源:互联网 发布:js选取元素 编辑:程序博客网 时间:2024/05/24 03:19
在内核中,当需要定时实现某个功能时,可以使用timer来实现该功能。
timer是一种softirq,所以对timer handler的要求与softirq一样。
timer_list的定义如下:
structtimer_list {
struct list_head entry;
unsigned long expires;
void (*function)(unsigned long);
unsigned long data;
struct tvec_base *base;
};
API
(1) timer定义并初始化
#define DEFINE_TIMER(_name, _function, _expires, _data)
其中name为timer变量的名称,function为timer 回调函数,expires为超时时间,data为参数
(2) 初始化已经定义的timer
#define init_timer(timer)\
init_timer_key((timer), NULL, NULL)
#define init_timer_deferrable(timer)\
init_timer_deferrable_key((timer), NULL,NULL)
#define init_timer_on_stack(timer)\
init_timer_on_stack_key((timer), NULL, NULL)
#define setup_timer(timer, fn, data)\
setup_timer_key((timer), NULL, NULL, (fn),(data))
#define setup_timer_on_stack(timer, fn, data)\
setup_timer_on_stack_key((timer), NULL, NULL,(fn), (data))
(3) add_timer/ add_timer_on
将timer增加到系统中。
voidadd_timer_on(struct timer_list *timer, int cpu)
voidadd_timer(struct timer_list *timer)
(3) 删除timer
intdel_timer_sync(struct timer_list *timer)
intdel_timer(struct timer_list *timer)
(4)修改timer
intmod_timer(struct timer_list *timer, unsigned long expires)
该函数用来修改timer的超时时间。- Linux 中的IPC(五)----定时器(Timer)
- java中的定时器Timer
- flex中的定时器Timer
- java中的定时器Timer
- java中的Timer定时器
- linux 定时器timer使用
- linux Timer 定时器使用
- [Linux]Timer 定时器
- 浅析NS2中的定时器(Timer)
- 浅析NS2中的定时器(Timer)
- linux定时器Timer的用法
- linux定时器Timer的用法
- Linux驱动--定时器timer小记
- Java多线程核心技术(五):定时器Timer
- VB.Net 中的定时器类Timer
- windows服务中的定时器timer的使用
- java线程系列---类中的定时器Timer
- gevent中的定时器 timer的简单使用
- IOS提示控件UIActionSheet,UIAlertView
- android ListView开发经常用到的小知识点
- Zend Framework教程-Zend_Helpers-视图助手-创建自己的视图助手
- 5分钟利用 Myeclipse8.6 快速搭建ssh(JPA)开发环境 并自动生成dao ,model
- Imagine App Challenge-学生打开IT界大门的机会!
- Linux 中的IPC(五)----定时器(Timer)
- HGE与BOX2d
- C语言中main函数的研究,以及对代码断点调试的研究(王爽老师 汇编语言)
- win 2003 server的一些优化设置
- 指定目录下的java文件存储到一个Txt文本文件中
- 根据前序遍历,中序遍历构建二叉树
- MyFirstMenu.cpp
- 采用链式存储实现队列的初始化、入队、出队操作。
- 《C程序设计语言》——序言