【发布时间】:2017-10-31 13:56:41
【问题描述】:
在 TimerTask 对象的 run 方法中,如何将 timerTask 本身提交给另一个 Timer。
当 timerTask 运行时,我应该做一个判断,决定它是否可以做一些工作。如果不符合条件,我应该取消它并把它放到另一个定时器。
我的 TimerTask 的代码是这样的:
@Override
public void run() {
try {
if (flag) {
// do something
} else {
new Timer().schedule(this, 1000 * 60);
}
} catch (Exception e) {
e.printStackTrace();
}
会有用吗?
【问题讨论】:
-
发布一些代码会有所帮助
-
您应该只使用一个
Timer,然后从外部监视条件,例如从Thread、Runnable或另一个Timer。然后根据需要从外部监视器停止、取消、重新分配、启动计时器。