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

网站怎么做才能得到更好的优化查看wordpress密码

网站怎么做才能得到更好的优化,查看wordpress密码,网站加速器,免费小说网站怎么做一、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.yayakq.cn/news/212471/

相关文章:

  • 定制网站建设济南属于网站的管理 更新 维护
  • 网页制作模板的网站代码o2o网站建设多少钱
  • 广州网站开发招聘信息做qq群排名的网站是否违规
  • 沈阳网站建设小工作室商业设计平面图
  • 网站建设与规划前景电话网站模版
  • 舟山市住房和城乡建设局网站wordpress电影影视主题
  • 国内精品在线网站建设怎么做公司网站文案
  • 网站建设编写代码问题网络推广产品要给多少钱
  • 敦煌做网站 条件网站开发实训报告参考文献
  • 陵县网站建设wordpress 插件 下载
  • 青岛网站建设公司好找吗鲅鱼圈网站开发
  • 网站建设大概需要多少钱WordPress接入Google
  • 怎样修改网站首页头部安陆网站的建设
  • 网站的建议极简wordpress模板
  • 北京商城网站开发公司wordpress shortinit
  • 张店网站建设价格网站开发与数据库有关系吗
  • 网站续费多少钱2345浏览器网址
  • 做淘宝门头的网站合肥大建设
  • 哪种网站开发简单spring可以做多大的网站
  • 同城招聘网站自助建站四川省城乡建设信息网站证件查询
  • 创意上海专业网站建设工程找队伍信息网
  • 高质量网站外链建设大揭秘公司名称域名网站
  • wordpress内容登陆后可见谷歌官方seo入门指南
  • 北京网站优化公司 卓立海创微信crm是什么
  • 网站开发读什么专业网络公司名
  • 杭州画廊网站建设hao123从上网官网
  • 营销专业网站中信建设有限责任公司电子商务平台
  • 免费企业网站程序上传asp网站建设实验设计
  • 自己电脑怎么做网站服务器pc网站同步手机网站
  • ueeshop外贸建站公司网站的查询系统怎么做