在TIME = 0
,用户调用一个在 10 秒后设置标志的方法。(在TIME = 10
)
如果用户再次在标志处调用该方法,TIME = 2
则不应将其设置为TIME = 10
,而应设置为TIME = 12
:
boolean myFlag; // initializes to false
private Timer timer;
public void setFlag() {
// remove old timer if there was one
if (timer != null) { timer.cancel(); timer = null; }
// set the new timer
timer = new Timer();
TimerTask tt = new TimerTask() {
@Override
public void run() { myFlag = true; }
};
timer.schedule(tt, 10000);
}
有没有更简洁的方法来实现这个“更新调度时间”模型?例子值得赞赏。