如何在运行时更改TimerTask的执行周期?

Vex*_*toR 9 java timer timertask

如何在运行时更改Timer的周期?

    Timer timer = new Timer();

    timer.scheduleAtFixedRate(new TimerTask() {
        public void run() {

             // read new period
             period = getPeriod();

             doSomething();

        }
    }, 0, period);
Run Code Online (Sandbox Code Playgroud)

Mat*_*arz 7

您不能直接执行此操作,但可以取消该任务Timer并使用所需的时间段重新安排它们.

没有getPeriod方法.

  • 您无法重新安排现有的TimerTask.一旦取消,它将永远不会再次运行.您需要创建一个新的TimerTask实例. (7认同)