Java中的计时器精度
我正在安排一些事情,这些事情我不能只是冗长的循环。而且我需要给它们计时以了解完成它们需要多长时间,但是看来计时器在Java中的精度为15-16毫秒?我该如何解决?
回答:
您是否尝试过使用System.nanoTime()?
从Javadoc:
返回最精确的可用系统计时器的当前值,以纳秒为单位。
此方法只能用于测量经过的时间,与系统或挂钟时间的任何其他概念无关。返回的值表示自某个固定但任意时间以来的纳秒(也许是将来的时间,因此值可能为负)。此方法提供纳秒精度,但不一定提供纳秒精度。无法保证值更改的频率。由于数值溢出,连续呼叫之间的差异超过大约292年(2
63纳秒),因此无法准确计算经过时间。
例如,要测量某些代码执行所需的时间:
长startTime = System.nanoTime(); // …正在测量的代码… long EstimatedTime =
System.nanoTime()-startTime;
以上是 Java中的计时器精度 的全部内容, 来源链接: utcz.com/qa/399299.html