首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >java中的计时器精度

java中的计时器精度
EN

Stack Overflow用户
提问于 2009-08-07 15:21:24
回答 1查看 9.5K关注 0票数 7

我正在为一些事情计时,我不能把它们放在一个长循环中。我需要给它们计时,看看它们需要多长时间才能完成,但在java中,计时器似乎有15-16毫秒的精度?我怎么才能避免这个问题呢?

EN

回答 1

Stack Overflow用户

发布于 2009-08-07 15:24:12

Clocks and Timers - General Overview

用于时钟和定时器的Java编程API绝对“时间”时钟由System.currentTimeMillis()方法表示,该方法返回自纪元起以毫秒为单位的挂钟时间的毫秒表示。因此,它使用操作系统的“时刻”时钟。该时钟的更新分辨率通常与定时器中断相同(例如,10ms),但在某些系统上是固定的,与中断速率无关。

相对时间时钟由System.nanoTime()方法表示,该方法返回以纳秒为单位的“自由运行”时间。此时间仅在与其他nanoTime值进行比较时有用。nanoTime方法使用平台上可用的最高分辨率时钟,虽然其返回值以纳秒为单位,但更新分辨率通常仅为微秒。然而,在一些系统上,除了使用与currentTimeMillis()相同的时钟源之外别无选择-幸运的是,这种情况很少见,并且主要影响旧的Linux系统和Windows98。

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

https://stackoverflow.com/questions/1245388

复制
相关文章

相似问题

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