我想澄清一些关于 TimerTask 的事情。当您拥有以下代码时:
timer.schedule(task, 60000);
任务计划在接下来的 1 分钟内运行的位置,任务对象是否已经在执行?
因为在我的代码中某处我调用了 task.cancel() 但似乎调用并没有阻止
要执行的任务。我什至记录了调用的返回值,它返回 false。
当我阅读取消方法的文档时,我提出了我的问题:
取消 TimerTask 并将其从 Timer 的队列中删除。通常,如果调用没有阻止 TimerTask 至少运行一次,它会返回 false。后续调用无效。如果调用阻止了计划的执行,则返回 true,否则返回 false。
我相信我在 1 分钟延迟之前调用了 cancel()。但是怎么cancel返回false,
[task] 是否已经在执行?
希望你能给我线索/提示,甚至对此作出解释。谢谢!