2010-11-10 71 views

回答

5

TimerTask和Thread都是異步執行的,但TimerTask計劃以固定間隔執行,而Thread不是。線程是在共享虛擬地址空間中用於並行執行的相當低級別的原語,並且每當它在運行隊列中並且輪到運行時它就運行;一個TimerTask只能按照預定運行的固定時間間隔運行。

3

無論您使用Groovy還是Java運行它們,TimerTask和Thread的行爲方式都是相同的。

TimerTask便於執行使用定時器的一次性或循環任務。 TimerTask實際上與Threads無關,除了Timer將在後臺線程中執行這些任務(儘管這可以被認爲是Timer類的實現細節)。

另一方面,線程是一個底層類,用於在單獨的線程中並行執行任何東西,並且不提供任何時序或作業調度功能。