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

食品 药品 监督 网站 源码 phpwordpress怎么编辑的

食品 药品 监督 网站 源码 php,wordpress怎么编辑的,用dw做的网站怎样弄上网上,wordpress 分类缩略图同学们留言回复答案看看可能很多老鸟对这样的Linux 内核宏已经见惯不怪了#xff0c;但是作为新手的Linux内核开发者#xff0c;我觉得非常有必要了解其中的原理和作用。jiffies 这个想必大家已经非常熟悉#xff0c;jiffies表示的是当前的系统时钟节拍总数#xff0c;它统… 同学们留言回复答案看看可能很多老鸟对这样的Linux 内核宏已经见惯不怪了但是作为新手的Linux内核开发者我觉得非常有必要了解其中的原理和作用。jiffies 这个想必大家已经非常熟悉jiffies表示的是当前的系统时钟节拍总数它统计的是从开机到现在的系统时间节拍。既然说到时钟节拍那就不能不说HZ这个是系统的节拍每个体系结构系统的节拍都不一样内核中通常的节拍数都不同是 100,200,1000等根据不同的体系结构来设定节拍数可以理解为心跳jiffies 可以理解为从出生到现在你系统产生了多少次心跳。/** These inlines deal with timer wrapping correctly. You are* strongly encouraged to use them* 1. Because people otherwise forget* 2. Because if the timer wrap changes in future you wont have to*   alter your driver code.**  time_after(a,b) returns true if the time a is after time b.** Do this with 0 and 0 to only test the sign of the result. A* good compiler would generate better code (and a really good compiler* wouldnt care). Gcc is currently neither.*/#define time_after(a,b) \ (typecheck(unsigned long, a) \ typecheck(unsigned long, b) \ ((long)(b) - (long)(a) 0))看注释就是如果 a 的时间在 b 的时间之后就返回true也可以理解为产生b的时间段超时后就返回true。然后我们看看在内核代码里面是如何使用这个宏的 timeout 2;timeout jiffies; do { if (time_after(jiffies, timeout)) { /* drive timed-out */ return 1; } /* give drive a breather */ msleep(50); } while ((hwif-INB(hd_status)) BUSY_STAT);我随便拿了一个代码来举例这个是在驱动里面的一个代码如果这个驱动代码产生了超时就返回true,函数就返回可以理解为注册驱动产生了超时时间后while里面的判断还是真。我们看这个宏实现的原理如果b 100; 超时时间a 55;     (当前时间)正常的时候(long)b - (long)a 0 表示没有产生超时如果a 101时(long)b - (long)a 100 - 101 -1 0 表示时间超时但是我们正常不会这样使用我们会利用HZ参数来一起使用比如我要设置2秒后超时那么timeout可以这样设置timeout 2*HZ;timeout jiffies;if(time_after(jiffies,timeout)){//do somethings}但是前面有一个typecheck(unsigned long) 后面比较的时候又强制转变为long这个有什么玄机呢这个主要是解决jiffies回绕的问题我们知道unsigned long 的最大值是 2^64 -1 18446744073709551615 64位系统                       假设time_after的宏定义如下#define time_after(a,b) \ (typecheck(unsigned long, a) \ typecheck(unsigned long, b) \ ((unsigned long)(b) - (unsigned long)(a) 0))//jiffies 18446744073709550615timeout 2*HZ;timeout jiffies;//do somethingif(time_after(jiffies,timeout)){ //这时候jiffies 已经回绕为 0timeout还是一个很大的值这时候就会出现问题了jiffies需要重新计数很久很久才可能再回到和timeout比较的一个量级。   //do something}但是如果上面的宏被强制转换成long 有符号数呢signed long 的范围是 [-9223372036854775808, 9223372036854775807]#define time_after(a,b) \ (typecheck(unsigned long, a) \ typecheck(unsigned long, b) \ ((long)(b) - (long)(a) 0))       jiffies 18446744073709550615; timeout 2*HZ; timeout jiffies;      //do something      if(time_after(jiffies,timeout)){ //这时候jiffies 已经回绕为 0timeout 还是一个很大       的值转成有符号的long是 -801这时候timeout - jiffies -801 0是成立的。          //do something      }我们看注释里面也写着这个宏是非常强壮的但是这个也有一个弊端的时候就是timeout的时间超出了unsigned long /2 的范围就会出现问题 但是unsigned long/2 表示多长的时间呢我们计算一下18446744073709551615 /HZ(200)/60/60/24 533759955836/2 266879977918(天)没有谁把超时时间设置到这么久吧所以说这个宏是足够你使用的了。可能很多人不明白为什么timeout设置太长会出现问题我们可以列举一下#define time_after(a,b) \ (typecheck(unsigned long, a) \ typecheck(unsigned long, b) \ ((long)(b) - (long)(a) 0)) jiffies 18446744073709551615/2; printf(%lld\n,(long)(jiffies)); timeout 18446744073709551615/2; timeout jiffies;       jiffies 202; printf(jiffies%ld,timeout%ld, time_after(a,ab)%d\n,(long)jiffies, (long)timeout, time_after(jiffies,timeout));      //输出结果如下      9223372036854775807      jiffies-9223372036854775607,timeout-2, time_after(a,ab)0请读者自行验证 jiffies 0 timeout  18446744073709551615/2 的情况看到最后返回的是  0 不是 1 原因很简单因为timeout回绕变成了在 0附近的值可以回去看那个图片加深理解然后jiffies是一个负数很大的值相减就出现问题了。***************************
http://www.pierceye.com/news/73436/

相关文章:

  • 湖南服装网站建设怎样创建一个网站
  • vi设计案例网站拍摄宣传片收费标准
  • 西安网站建设价格哪些网站开业做简单海报
  • 杭州网站建设设计公司哪家好wordpress4.5漏洞
  • 微信分销网站建设多少钱重庆多功能网站建设
  • 凡科自助建站系统百度加盟
  • 红河做网站的公司网站设计需求文档范例
  • wordpress传不上站点沈阳市和平区建设局网站
  • 自建站费用网站怎么做百度快照
  • 网站企业快速备案建设银行深圳天健世纪支行网站
  • 广州高档网站建设深圳营销型企业网站
  • 临漳网站建设wordpress后台可视化编辑
  • 帝国视频网站模板网站中上传资料存放ftp
  • 推荐广州手机网站定制自己做的网站图片挡住了导航栏
  • 苏州市建设中心网站首页伊利网站设计
  • 怀柔青岛网站建设广州高端网站制作公司哪家好
  • 网站产品动效怎么做做招商加盟做得比较好的网站
  • 商业设计网站有哪些网络舆情分析师怎么考
  • 广州市酒店网站设计招聘网官网
  • 做电脑网站手机能显示个人简历模板下载 免费完整版
  • gta5买资产网站在建设学校网站资源建设方案
  • 动易网站建设实训报告永久免费低代码开发平台
  • 深圳南山网站开发阿里云域名注册新人
  • 帮人做网站赚多少钱互联网推广营销都选隐迅推
  • 网站关键词几个网站建设属于什么职位类别
  • 哪些企业需要做网站建设软件开发者
  • 如何做流量充值网站做网站策划计划书
  • 自助建网站市场网站制作产品优化
  • 如何使用c 进行网站开发wordpress 文章空白
  • wordpress登陆后评论seo网站优化工具