【问题标题】:Java Timer Scheduled Tasks Execution SpeedJava Timer 计划任务执行速度
【发布时间】:2012-11-07 19:24:37
【问题描述】:

假设我有如下所示的一般计划任务 定时器 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 秒会发生什么?是否会在安排下一个时重新启动当前正在运行的一个?还是任务有自己的线程?希望很清楚。谢谢

【问题讨论】:

  • 你试过看看会发生什么吗?

标签: java timer scheduled-tasks


【解决方案1】:

如果任务耗时超过 1 秒,后续任务将排队,直到有问题的任务完成。

根据javadoc

如果一个定时器任务花费了过多的时间来完成,它会“占用”定时器的任务执行线程。反过来,这可能会延迟后续任务的执行,这些任务可能会在(以及如果)有问题的任务最终完成时“聚集”并快速连续执行。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-07-23
    • 1970-01-01
    • 1970-01-01
    • 2013-04-15
    • 1970-01-01
    • 2011-12-08
    • 2014-10-25
    • 2012-02-07
    相关资源
    最近更新 更多