0

在多线程代码中,每当重新安排线程时,System.nanoTime() 是否会产生小的不准确性?如果是的话,这个错误会累积吗?在单线程代码中也是如此吗?

例如,当线程开始执行时,它在开始时使用 System.nanoTime() 获取时间,然后在退出线程块之前它使用相同的 System.nanoTime() 记录时间

4

1 回答 1

1

“小错误”是什么意思?尽管System.nanoTime()为您提供纳秒级分辨率,但无法保证它测量的经过时间的准确性。据我所知,调用System.nanoTime()不会中断线程调度;方法调用和执行的成本很小,但仅此而已。(当然,如果你做的足够多的话,做很多这样的调用会积累大量的 CPU 时间。)

于 2013-02-24T09:23:42.560 回答