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