Java计时器计划执行速度



假设我有下面显示的一般计划任务 计时器t = new Timer();

    TimerTask listenHandover = new TimerTask() {
    public void run() 
    {
              // Some methods that can possibly take more than 1 second to execute
    }
};
t.schedule(listenHandover, 1000 , 1000); 

正如评论所说,如果任务需要超过1秒的执行,会发生什么?当安排下一个时,当前运行的运行量会重新启动吗?还是任务有自己的线程?希望这很清楚。谢谢

如果任务需要超过1秒钟,则随后的任务将排队直到犯罪完成为止。

根据javadoc

如果计时器任务需要过多的时间来完成,则它"猪"了计时器的任务执行线程。反过来,这可能会延迟执行后续任务,这可能会"堆积"并在(以及如果)最终完成时快速执行。

最新更新