如何停止已经执行的TimerTask?
如何停止正在运行的TimerTask
我已经通过上述链接,我的问题没有完全解决。
我们可以通过调用timerObj.cancel()
来停止Timer。 cancel
方法的文件清楚地说:
取消定时器和所有计划的任务。 如果当前正在运行的任务不受影响 。 可以在此{@Code Timer}上安排更多任务。 随后的通话什么都不做
所以我的问题在于,
如果很多TimerTasks都是在一个timer
下进行调度的,那么即使它们正在执行它们各自的run
方法 ,我们又怎么能阻止它们呢? 有没有办法解决这个问题?
提前致谢。
您应该设计run方法,以便它可以确定何时终止,例如通过轮询AtomicBoolean的状态。
即使你找到运行TimerTask的线程,在线程上调用stop()或类似的方法本质上也是不安全的。
链接地址: http://www.djcxy.com/p/74915.html