Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android(Linux)使用时钟单调的正常运行时间_Android_Linux_Time_Linux Kernel - Fatal编程技术网

Android(Linux)使用时钟单调的正常运行时间

Android(Linux)使用时钟单调的正常运行时间,android,linux,time,linux-kernel,Android,Linux,Time,Linux Kernel,根据uptimeMillis()返回自启动以来的毫秒数,不计算深度睡眠时间。我检查了计划的实施情况 uptimeMillis()在我的代码中,大致如下- struct timespec t; t.tv_sec = t.tv_nsec = 0; clock_gettime(CLOCK_MONOTONIC, &t); return (int64_t)(t.tv_sec)*1000000000LL + t.tv_nsec; 据我所知,CLOCK\u单调的从一些未指定的点开始计数线性地包括睡眠

根据
uptimeMillis()
返回自启动以来的毫秒数,不计算深度睡眠时间。我检查了计划的实施情况
uptimeMillis()
在我的代码中,大致如下-

struct timespec t;
t.tv_sec = t.tv_nsec = 0;
clock_gettime(CLOCK_MONOTONIC, &t);
return (int64_t)(t.tv_sec)*1000000000LL + t.tv_nsec;
据我所知,
CLOCK\u单调的
从一些未指定的点开始计数线性地包括睡眠时间

这是我的疑问-

  • 如果
    CLOCK\u MONOTONIC
    包括睡眠时间,为什么
    uptimeMillis()
    不考虑睡眠时间?如果我的理解是错误的,
    CLOCK_monotic
    没有考虑睡眠,那么我应该使用什么来获得系统正常运行时间,包括睡眠

  • 什么是深度睡眠?CPU空闲被称为深度睡眠吗

  • 在Linux中,未指定点的值是多少?你能用代码指出这个时钟是从哪里开始的吗


  • 当系统暂停时,时钟单调停止。一些人认为这是一个错误,随后出现了添加时钟的补丁程序。我不知道这些补丁是否已经包含在主线内核中。时钟启动时间为ndk-9c——只花了2.5年;)-沃伊切赫

  • 暂停,我想

  • IIRC启动前的某个固定时间。如果深入研究内核源代码,您将找到确切的值。再说一次,关于它未指定的全部要点是它在任何时候都可能改变,所以依赖它在我看来是不明智的


  • 非常感谢janneb!!这很有帮助。但是你能详细说明一下吗?挂起是指进程挂起还是整个CPU闲置?@Pavan:suspend,就像整个系统挂起一样。再次感谢!我在2.6.35登记<代码>时钟启动时间还没有!但是仍然
    SystemClock.elapsedRealtime()
    能够做到这一点!知道它是怎么回事吗?@Pavan:方法名称中的“Realtime”表明它是一个实时时钟,你不觉得吗?请注意时钟启动时间,我链接到的补丁发布于2011年2月,而2.6.35发布于2010年8月,所以你在那里找不到它也就不足为奇了。时钟启动时间在ndk-9c中-只花了2.5年;)