我在我的应用程序中使用system.nanoTime,并计算相对于启动时间的时间。
我的应用程序运行得非常好,直到我将它复制到新计算机上,并且纳米时间给了我更慢的值。java - system.nanoTime()运行速度太慢
我写了一个简单的应用程序来确保。
将纳秒时间与系统时间进行比较。
它显示除了我的新计算机以外的其他计算机中的相同值。有什么建议么?
这里是我的代码: 首先我
private long initNanoTime = System.nanoTime();
private long initTime = System.currentTimeMillis();
比我循环运行每秒线程:
long timeUsingNanoTime = initTime + (System.nanoTime() - initNanoTime)/1000000;
long timeUsingMilis = System.currentTimeMillis();
long nanotimeOffset = Math.abs(timeUsingNanoTime - timeUsingMilis);
if (nanotimeOffset < 100l) ? print("close") : print(far);
编辑:我使用的纳米,因为我需要处理甚至TS在纳米时间内发生,并将其接收到的纳米时间打印到日志中
你是什么意思“给我慢的值”。方法执行是否需要更多时间,或者您获得了您不期望的值?也许这可以帮助你http://stackoverflow.com/questions/351565/system-currenttimemillis-vs-system-nanotime – SWoeste 2012-04-05 10:28:24