我在我的應用程序中使用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