检查Java Timer是否被取消

时间:2012-12-14 14:05:41

标签: java timer cancellation

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

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

如果Timer已被取消,是唯一可以捕获IllegalStateException的选项吗? (抓住IllegalStateException)感觉不对。

1 个答案:

答案 0 :(得分:14)

您对使用Timer的确定程度如何?请改用ExecutorService,其isShutdown并具有一系列其他好处。从Java 5开始的一般建议是用Timer s替换ExecutorService

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