首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > Java相关 >

Timer没按预计的延迟时间启动task

2013-07-09 
Timer没有按预计的延迟时间启动task用一个Timer延迟启动一个Task:timer.schedule(timerTask, deltaTime)

Timer没有按预计的延迟时间启动task
用一个Timer延迟启动一个Task:timer.schedule(timerTask, deltaTime);
在timerTask再次使用timer来确定下次启动timerTask的时间。出现的问题:timertask没有按照计划deltaTime的时间间隔,有时会比预计多延迟出10几分钟,最多的时候甚至一个小时左右。请问大牛们,这是什么原因导致的?有什么方法可以解决?
[解决办法]
如果是循环任务,应该使用schedule(TimerTask task, long delay, long period) 

非循环任务,仅仅执行一次,也就是计划好任务后delay(毫秒)执行,这个应该不会错的,至少我没遇到过。
[解决办法]

引用:
Quote: 引用:

间隔时间是任务完成后开始算,如果你的任务运行时间比较长下一个任务就会延时。
我是在任务完成后再调用一次timer.schedule(timerTask, deltaTime);设置下次运行的时间

一个timer是单线程的,如果有多个任务在跑,也有可能延迟。

热点排行