2012-11-07 64 views
-1

假設我有如下所示的一般計劃任務 定時器t =新的定時器();Java定時器計劃任務執行速度

TimerTask listenHandover = new TimerTask() { 

    public void run() 
    { 
       // Some methods that can possibly take more than 1 second to execute 
    } 
}; 
t.schedule(listenHandover, 1000 , 1000); 

正如評論所說,如果任務執行時間超過1秒會發生什麼?下一次計劃時,當前正在運行的計劃是否會重新啓動?或者做任務有他們自己的線程?希望很明顯。謝謝

+0

你試過看看會發生什麼? – noMAD

回答

3

如果任務花費1秒以上,後續任務將排隊等待,直到違規完成。

javadoc

如果計時器任務花費過多的時間來完成,這「豬」計時器的任務執行線程。反過來,這可能會延遲後續任務的執行,這些任務可能會「聚集起來」並在(如果)違規任務最終完成時快速連續執行。