检查Java Timer是否被取消

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

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

是唯一可以捕获可能在Timer已被取消时可能发生的IllegalStateException选项吗? (捕获IllegalStateException感觉不对)。

你有多确定要使用Timer ? 请使用ExecutorService ,它具有isShutdown并具有一系列其他启动优势。 从Java 5开始的一般建议是用ExecutorService替换Timer

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