linux将时间转换成毫秒数,linux – 将jiffies转换为毫秒

如前面的答案所说,jiffies增量的速率是固定的。

为接受jiffies的函数指定时间的标准方法是使用常量HZ。

这是Hertz的缩写,或每秒钟的刻度数。在定时器标记设置为1ms的系统上,HZ = 1000。一些分布或体系结构可以使用另一个数字(100是常见的)。

为函数指定jiffies计数的标准方法是使用HZ,如下所示:

schedule_timeout(HZ / 10); /* Timeout after 1/10 second */

在大多数简单的情况下,这工作正常。

2*HZ /* 2 seconds in jiffies */

HZ /* 1 second in jiffies */

foo * HZ /* foo seconds in jiffies */

HZ/10 /* 100 milliseconds in jiffies */

HZ/100 /* 10 milliseconds in jiffies */

bar*HZ/1000 /* bar milliseconds in jiffies */

然而,最后两个有一个问题,因为在具有10毫秒定时器滴答的系统上,HZ / 100为1,精度开始受损。您可能会在0.0001和1.999之间的任何时间延迟计时器滴答(基本上为0-2 ms)。如果你试图在10ms tick系统上使用HZ / 200,整数除法给你0 jiffies!

所以经验法则是,非常小心地使用HZ的微小的值(那些接近1吉菲)。

要转换另一种方式,您将使用:

jiffies / HZ /* jiffies to seconds */

jiffies * 1000 / HZ /* jiffies to milliseconds */

你不应该期望什么比毫秒精度更好。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值