首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >nanoTime()定时器的解析

nanoTime()定时器的解析
EN

Stack Overflow用户
提问于 2013-05-23 00:44:35
回答 2查看 115关注 0票数 2

我在帖子中搜索了一个与System.nanoTime( )方法调用处理时间有关的答案。

考虑以下代码

代码语言:javascript
复制
long lastTime = System.nanoTime();
long currentTime = System.nanoTime();
long deltaTime = currentTime - lastTime;

如果运行此操作,currentTime - lastTime将计算为“0”。发生这种情况的唯一方法是,如果计算机在纳秒分辨率之外处理第二个方法调用(即调用时间小于纳秒)。从逻辑上讲,这是合理的,因为一台计算机可以(平均)在一个纳秒内执行多个进程。

是对的吗?,如果不是,我的逻辑哪里错了?

EN

回答 2

Stack Overflow用户

发布于 2013-05-23 00:49:35

理论上它会打印出"0“。在某些情况下,如果有许多其他任务正在执行,则可能会有细微的变化。

票数 0
EN

Stack Overflow用户

发布于 2013-05-23 00:57:17

这在理论上是正确的,假设绝对没有其他进程在运行,而且对Java方法的调用没有延迟。因此,在一个实际的系统上,这是不可能实现的,因为对Java方法的调用将导致严重的延迟。正如我在评论中所说的,在双核Android4.0.4手机上,我可以实现大约0.015毫秒的差异。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16703881

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档