推迟计时器计划java

时间:2013-03-20 13:24:29

标签: java timer delay schedule timertask

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);
}

有没有更简洁的方法来实施这种“更新计划时间”模型?赞赏的例子。

1 个答案:

答案 0 :(得分:-1)

我会简单地保持相同,但几乎没有变化。
始终声明变量,因为变量应该在首次使用时声明和初始化。

public void setFlag() {
    Timer timer;
    timer = new Timer();
    // remove old timer if there was one
    if (timer != null) { timer.cancel(); }

    // set the new timer
    TimerTask tt = new TimerTask() {
        @Override
        public void run() { setFlag(); }
    };
    timer.schedule(tt, 10000);
}