我们在 Java 中有几个进程使用 nanoTime 进行内部基准测试(因为这在同一线程中应该是准确的)。

进程之间可以相互通信。

是否有确定线程之间 nanoTime 差异的标准方法? (例如,模仿 NTP?)。这应该定期进行吗?

最佳答案

javadoc 用大量警告限定了 nanoTime() 方法。它的要点似乎是您可以在代码块中使用它来测量耗时,从而为您提供“纳秒精度,但不一定是纳秒精度”。

那是毛骨悚然的语言,可能是故意的。我可能会避免比较使用 nanoTime() 进行的两种不同的耗时计算,这可能会给您带来不好的结果。

如果这是用于基准测试,最好在循环中对相同的代码进行基准测试,将耗时提高到毫秒范围,允许您改用 currentTimeMillis(),这样更可靠。

10-08 19:18