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

哈尔滨网站搜索优化公司百度识别图片找图

哈尔滨网站搜索优化公司,百度识别图片找图,建网站签合同,网站流媒体播放如何做一、Linux 内核定时器介绍 在 Linux 内核中很多函数是基于定时器进行驱动的,但是内核定时器的精度并不高,所以不能作为高精度定时器使用。并且内核定时器的运行没有周期性,到达计时终点后会自动关闭。如果要实现周期性定时,就要在…

一、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.h>static 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.tj-hxxt.cn/news/27883.html

相关文章:

  • 网站开发与维护书大数据培训
  • 做优化的网站用什么空间好营销软文范例大全
  • wordpress 帖子置顶南宁百度seo软件
  • 2021今天特大军事新闻西安百度推广优化公司
  • 泰安专业网站建设公司seo工程师招聘
  • 什么网站可以做设计赚钱的吗西安seo引擎搜索优化
  • 免费模板下载网站推荐免费的自媒体一键发布平台
  • 张家港做网站优化排名今日头条热搜榜
  • 河北网站建设网络营销管理
  • 嘉峪关建设厅官方网站自建站平台
  • 一个人可以做网站吗营销活动推广策划
  • 医疗产品网站建设seo百度seo排名优化软件
  • 网站搜索引擎关键字怎么做长春网站建设技术支持
  • vip影视网站如何做app中国营销网
  • 北京市政府网站首都之窗新手怎么学做电商
  • 天天爱天天做网站免费建立一个网站
  • 李志自己做网站福州百度网站排名优化
  • 官方网站建设必要性推广自己的产品
  • 织梦怎么修改网站模板我为什么不建议年轻人做销售
  • 在国外做网站卖国内的东西百度竞价点击神器
  • 深圳市宝安区邮编朝阳区seo技术
  • 自学网站建设最快要多久好口碑关键词优化
  • 广西桂林公司关键词优化
  • 哪个b2b网站做外贸好服装品牌策划方案
  • 哪些b2b网站做游戏机比较好百度seo自然优化
  • 宝鸡门户网站开发怎么查看域名是一级还是二级域名
  • 网站建设亿玛酷可靠5外贸营销网站制作公司
  • 如何建设公司的网站首页苏州关键词优化搜索排名
  • 做网站有谁做新闻头条新闻
  • 网站项目需求分析软文推广范文