1

我只能在 Mac OS 10.8.5 上的 Eclipse(Juno 和 Kepler)中调用 System.nanoTime() 获得微秒级分辨率。有没有办法获得纳秒级的分辨率?

for (int i = 1; i < 1000; i++) {
    if (System.nanoTime() % 1000 != 0) {
        System.out.println("Got one");
    }
}
4

1 回答 1

1

System.nanoTime()根据错误报告,您将在 JDK 8u20 的 Mac OS X 上获得更合适的版本。

简而言之, mach_absolute_time与防护一起使用(因为它是特定于 CPU 的),因此它不能倒退(在多核系统上)。

在此处查看在 JDK8 中实现此功能的实际代码。

于 2014-06-06T07:59:41.420 回答