我想澄清一下TimerTask的一些事情。 当你有以下代码:
timer.schedule(task, 60000);
如果任务安排在下一分钟内运行,那么任务对象是否已经在执行?
因为我在代码某处调用了task.cancel(),但它似乎不能阻止任务执行。我甚至记录了调用的返回值,它返回false。
当我阅读cancel方法的文档时,我产生了这个问题:
取消TimerTask并从Timer队列中删除。通常情况下,如果调用无法防止TimerTask至少运行一次,则返回false。后续调用没有任何效果。如果调用防止计划执行发生,则返回true;否则返回false。
我相信在1分钟延迟之前调用了cancel()。但是为什么cancel()返回false,任务是否已经在执行?
希望你能给我提示或解释。谢谢SO!