java stop watch程序 - 一起使用System.nanoTime()和TimerTask

时间:2013-01-13 09:18:00

标签: java timertask

我正在用Java编写一个迷你程序用作秒表,但我不确定我是否在效率和准确性方面使用了正确的方法。

从我在stackoverflow上看到的内容看来,System.nanoTime()是测量时间过去时使用的最佳方法。是对的吗?在何种程度上精确到最接近的纳秒,微秒,毫秒等。

此外,当我的秒表正在运行时,我希望它显示每秒经过的当前时间。为此,我计划使用TimerTask并安排它每秒报告时间(转换为秒)。 这是最好的方法吗?这会对准确性产生影响吗?

最后,根据我目前的设计,这会占用计算机的大部分资源,例如:处理时间。

PS抱歉我现在无法共享很多代码,因为我刚刚开始设计它。我只是不想浪费时间在效率低下的设计上并制作一个不准确的计时器。

1 个答案:

答案 0 :(得分:2)

是的,您可以使用定期运行的java.util.TimerTimerTask并每秒更新您的视图。但是,我不认为你需要处理nono秒,而你实际上只需要秒的分辨率。使用常规System.currentTimeMillis()