我真的在尋求關於以下的邏輯解釋。我有一個timed task
系統無法處理納秒級觸發的事件,爲什麼?
static TimerTask timedTask = new TimerTask() {
@Override
public void run() {
// TODO Auto-generated method stub
System.out.println("timed task");
}
};
Timer timer = new Timer();
timer.schedule(timedTask, (long) logfile.getFileHash().get(1).getTimeStampInNano());
當我運行的代碼,沒有在控制檯顯示,但文我將其更改爲:
Timer timer = new Timer();
timer.schedule(timedTask, (long) logfile.getFileHash().get(1).getTimeStampInMilli());
控制檯顯示在run()
方法的消息。在我看來,系統無法處理納秒級的時間,因爲它們比系統時鐘快。但是,如果有一種方法稱爲System.nanoTime()
,這意味着系統應該能夠識別某個任務從特定納秒開始。
這並沒有回答這個問題,即將函數預期的毫秒數納秒作爲參數。 – vinntec 2016-04-03 18:18:01