博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
mach_absolute_time
阅读量:7090 次
发布时间:2019-06-28

本文共 960 字,大约阅读时间需要 3 分钟。

hot3.png

#include 
int getUptimeInMilliseconds(){ const int64_t kOneMillion = 1000 * 1000; static mach_timebase_info_data_t s_timebase_info; if (s_timebase_info.denom == 0) { (void) mach_timebase_info(&s_timebase_info); } // mach_absolute_time() returns billionth of seconds, // so divide by one million to get milliseconds return (int)((mach_absolute_time() * s_timebase_info.numer) / (kOneMillion * s_timebase_info.denom));}

但是这个方法使用的人不多,原因在于,如果系统处于休眠状态,那么这个值也是停止的,所以它本质是进程运行的时钟计数器(run()),而非整个系统的(run() + sleep())时钟计数器。这样严格来说,是完全不准确的数据,不可用。

但具体相关我也没深入研究过,有了解过的童鞋,可以评论或私信给我,指教我一下。

这个较为多的使用场景是作为耗时的测量函数,比如在某个时间获取mach_absolute_time作为startTime,间隔一定时间之后再次获取mach_absolute_time作为endTime,然后差值可以作为这个阶段的耗时,这样的使用场景较多。

  • stackoverflow:有人问这个 mach_absolute_time的真正含义,因为他发现自己的设备并没有重启,但是基于mach_absolute_time算出来的时间,自己的设备在某一时刻重启过,所以对这个东西"一脸懵逼"...

  • Apple 官方对某个开发者的提问What time units does it use?进行的回复.

转载于:https://my.oschina.net/robslove/blog/3004403

你可能感兴趣的文章
我的友情链接
查看>>
Xcode 使用Git User Interface State 问题
查看>>
我在群硕实习的日子
查看>>
个人知识管理是职场必修课
查看>>
基于 Android NDK 的学习之旅----- C调用Java(附源码)
查看>>
Python主流IDE对比:Eric VS. PyCharm
查看>>
alchim31压缩js和css文件
查看>>
J2EE 之二------------------- Servlet
查看>>
python argparse
查看>>
美团客户端响应式框架 EasyReact 开源啦
查看>>
前有BAT,后出独角兽,第二梯队很焦虑
查看>>
煲仔饭与软件测试
查看>>
ORACLE同义词总结
查看>>
在linux下安装android以及C/C++开发环境
查看>>
分享:【视频:淘宝手机生活节测试分享】
查看>>
idea maven 新建多模块项目
查看>>
Sqlserver 过期
查看>>
vs2013新建文件自动保存为utf-8编码
查看>>
用系统命令加载磁盘 (隐藏文件) "学习资料"放的再深也不怕
查看>>
mysql忘记没密码
查看>>