检查Java Timer是否被取消

Sim*_*erg 13 java timer cancellation

为什么没有java.util.Timer对象的isCancelled方法?

如果Timer没有被取消,我想安排一个任务,并且如果它被取消,则直接运行它(在同一个线程上).

IllegalStateException如果Timer已被取消,是否可以捕获可能出现的唯一选项?(抓到一个感觉不对IllegalStateException).

Mar*_*nik 14

你有多确定要使用TimerExecutorService相反,使用它具有isShutdown一系列其他好处来启动.从Java 5开始的一般建议是TimerExecutorServices 替换s.

有一个ScheduledExecutorService专门用于计划执行程序服务的接口.使用其中一种Executors.new...方法实例化.

  • 是的,你可以这么说.如果它符合您的账单,请使用它,但如果没有,请转到`ExecutorService`并且永远不要回头看.第二个想法,即使这个建议很危险:如果你从`Timer`开始并且你的项目增长,你可能会后悔没有开始使用`ExecutorService`. (3认同)
  • 已弃用?不,但不适合很多任务。http://stackoverflow.com/questions/2213109/java-util-timer-is-it-deprecated (2认同)