11
爲什麼java.util.Timer對象沒有isCancelled
方法?檢查Java定時器是否被取消
如果Timer沒有被取消,我想安排一個任務,如果它已被取消,直接運行它(在同一個線程上)。
如果定時器已被取消,是否有可能發生的IllegalStateException
是唯一的選擇? (抓住IllegalStateException
感覺不對)。
爲什麼java.util.Timer對象沒有isCancelled
方法?檢查Java定時器是否被取消
如果Timer沒有被取消,我想安排一個任務,如果它已被取消,直接運行它(在同一個線程上)。
如果定時器已被取消,是否有可能發生的IllegalStateException
是唯一的選擇? (抓住IllegalStateException
感覺不對)。
你確定要使用Timer
?改爲使用ExecutorService
,其中有isShutdown
,並具有啓動的其他優點。從Java 5開始的一般性建議是用ExecutorService
來代替Timer
。
專門用於調度執行器服務的接口有ScheduledExecutorService
。使用Executors.new...
方法之一進行實例化。
這是否意味着'Timer'類或多或少被棄用? –
是的,你可以這麼說。如果它符合你的賬單,使用它,但如果不符合,轉到'ExecutorService'並且永不回頭。再次想到,即使這個建議是危險的:如果你從'Timer'開始並且你的項目增長了,你可能會後悔沒有開始使用'ExecutorService'。 –
已棄用?不,但不適合很多任務。 http://stackoverflow.com/questions/2213109/java-util-timer-is-it-deprecated –