为什么java.util.Timer对象没有isCancelled
方法?
如果Timer没有被取消,我想安排一个任务,如果它被取消,直接运行(在同一个线程上)。
如果Timer已被取消,是唯一可以捕获IllegalStateException
的选项吗? (抓住IllegalStateException
)感觉不对。
答案 0 :(得分:14)
您对使用Timer
的确定程度如何?请改用ExecutorService
,其isShutdown
并具有一系列其他好处。从Java 5开始的一般建议是用Timer
s替换ExecutorService
。
有一个专门用于计划执行程序服务的ScheduledExecutorService
接口。使用Executors.new...
方法之一实例化。