当前位置: 首页 > news >正文

中国十大热门网站深圳龙华区高峰社区

中国十大热门网站,深圳龙华区高峰社区,台州关键词优化服务,宠物店网站建设策划书一、Linux 内核定时器介绍 在 Linux 内核中很多函数是基于定时器进行驱动的#xff0c;但是内核定时器的精度并不高#xff0c;所以不能作为高精度定时器使用。并且内核定时器的运行没有周期性#xff0c;到达计时终点后会自动关闭。如果要实现周期性定时#xff0c;就要在…一、Linux 内核定时器介绍 在 Linux 内核中很多函数是基于定时器进行驱动的但是内核定时器的精度并不高所以不能作为高精度定时器使用。并且内核定时器的运行没有周期性到达计时终点后会自动关闭。如果要实现周期性定时就要在定时处理函数中重新开启定时器。   Linux 内核中使用 timer_list 结构体表示内核定时器该结构体定义在“内核源码/include/linux/timer.h”文件中具体内容如下所示 struct timer_list {/** All fields that change during normal runtime grouped to the* same cacheline*/struct hlist_node entry;unsigned long expires;void (*function)(struct timer_list *);u32 flags;#ifdef CONFIG_LOCKDEPstruct lockdep_map lockdep_map; #endifANDROID_KABI_RESERVE(1);ANDROID_KABI_RESERVE(2); };使用以下宏对 timer_list 结构体进行定义_name 为定义的结构体名称_function为定时处理函数该宏同样定义在文件 “内核源码/include/linux/timer.h”文件中如下所示 #define DEFINE_TIMER(_name, _function) \struct timer_list _name \__TIMER_INITIALIZER(_function, 0)例如可以使用以下代码对定时器和相应的定时处理函数进行定义 DEFINE_TIMER(timer_test,function_test);//定义一个定时器定时器定义完成之后还需要通过一系列的 API 函数来初始化此定时器部分函数说明如下 函数作用void add_timer(struct timer_list *timer)向 Linux 内核注册定时器使用add_timer 函数向内核注册定时器以后定时器就会开始运行int del_timer(struct timer_list * timer)删除一个定时器int mod_timer(struct timer_list *timer,unsigned long expires)修改定时值如果定时器还没 在使用 add_timer()函数向 Linux 内核注册定时器之前还需要设置定时时间定时时间由 timer_list 结构体中的 expires 参数所确定单位为节拍数。 二、代码示例 2.1、程序示例 #include linux/init.h #include linux/module.h #include linux/timer.hstatic void function_test(struct timer_list *t);//定义function_test定时功能函数 DEFINE_TIMER(timer_test,function_test);//定义一个定时器 static void function_test(struct timer_list *t) {printk(this is function test \n);mod_timer(timer_test,jiffies_64 msecs_to_jiffies(5000));//使用mod_timer函数将定时时间设置为五秒后 } static int __init timer_mod_init(void) //驱动入口函数 {timer_test.expires jiffies_64 msecs_to_jiffies(5000);//将定时时间设置为五秒后add_timer(timer_test);//添加一个定时器return 0; }static void __exit timer_mod_exit(void) //驱动出口函数 {del_timer(timer_test);//删除一个定时器printk(module exit \n); } module_init(timer_mod_init); module_exit(timer_mod_exit);2.2、Linux 内核定时器使用API要点 DEFINE_TIMER(timer_test,function_test);//定义一个定时器add_timer(timer_test);//添加一个定时器static void function_test(struct timer_list *t) {printk(this is function test \n);mod_timer(timer_test,jiffies_64 msecs_to_jiffies(5000));//使用mod_timer函数将定时时间设置为五秒后 }
http://www.pierceye.com/news/392116/

相关文章:

  • 肇庆新农村建设内容在哪个网站有关天猫网站开发的论文
  • 网站建设代码生成器php网站开发专员招聘
  • 视频教学网站cms陕西网站备案查询
  • 湖州网站设计浙北数据wordpress自定义搜索页面
  • 昆明公司网站开发流线型的网站建设
  • 南京建设网站企业泊头市建设网站
  • 前端跟后端哪个就业难北京网站建设seo优化
  • 简述网站开发建设的基本流程做一个京东这样的网站需要多少钱
  • 与通信工程专业做项目的网站微信开发显示wordpress
  • 自己做链接网站萍乡做网站哪家好
  • 做网站最适合用多大的图片医院 网站建设 新闻
  • 网站开发职业分析产品展示的手机网站
  • 精通网站建设pdf网上自学电脑课程
  • 一站式网站建设业务沈阳网站建设 熊掌号
  • 58同城网站建设目的劳务公司怎么注册需要什么要求
  • 龙华网站建设设计公司国家中小学智慧教育平台
  • 摄影网站采用照片做宣传_版权费是多少?pythom+网站开发规范
  • 免费制作一个自己的网站吗达内教育口碑怎么样
  • 2015做那个网站能致富网站建设模板ppt模板
  • 网站后台管理系统教程自助网站建设程序
  • 做黑帽需不需要搭建网站没有做等保的网站不能上线对吗
  • 怎么在微信建立公众号郑州专业seo首选
  • 万网网站后台国家域名
  • 怎么做 niche网站临港注册公司优惠政策
  • 做网站开发怎么做网站推广的步骤
  • 网站空间文件删不掉软文免费发布平台
  • 电子商务网站开发教程论文推广app平台有哪些
  • 郑州专业的网站建设优化自己的网站
  • 申请渠道门户网站是什么意思微信公众平台推广网站
  • 公司网站未备案公众号如何推广产品