正常运行时间iOS Objective-C – 毫秒级精度

正常运行时间iOS Objective-C – 毫秒级精度,第1张

概述我正试图让iOS的正常运行时间.我正在使用mach_absolute_time – 但我发现它在睡眠时暂停了. 我找到了这个片段: - (time_t)uptime{ struct timeval boottime; int mib[2] = {CTL_KERN, KERN_BOOTTIME}; size_t size = sizeof(boottime); ti 我正试图让iOS的正常运行时间.我正在使用mach_absolute_time – 但我发现它在睡眠时暂停了.

我找到了这个片段:

- (time_t)uptime{    struct timeval boottime;    int mib[2] = {CTL_KERN,KERN_BOottIME};    size_t size = sizeof(boottime);    time_t Now;    time_t uptime = -1;    (voID)time(&Now);    if (sysctl(mib,2,&boottime,&size,NulL,0) != -1 && boottime.tv_sec != 0)    {        uptime = Now - boottime.tv_sec;    }    return uptime;}

它成功了.但是,它整整回来了.有什么方法可以获得毫秒数?

解决方法 内核(显然)不会存储其启动时间的更高分辨率时间戳.

KERN_BOottIME由the sysctl_boottime function in bsd/kern/kern_sysctl.c实现.它调用boottime_sec.

boottime_sec在bsd/kern/kern_time.c中实现.它调用clock_get_boottime_nanotime,它有一个很有前途的名字.

clock_get_boottime_nanotime在osfmk/kern/clock.c中实现.硬编码在其nanosecs参数中始终返回0.

@H_502_31@ 总结

以上是内存溢出为你收集整理的正常运行时间iOS Objective-C – 毫秒级精度全部内容,希望文章能够帮你解决正常运行时间iOS Objective-C – 毫秒级精度所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1056748.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-25
下一篇 2022-05-25

发表评论

登录后才能评论

评论列表(0条)

保存