假设我有下面显示的一般计划任务 计时器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
如果计时器任务需要过多的时间来完成,则它"猪"了计时器的任务执行线程。反过来,这可能会延迟执行后续任务,这可能会"堆积"并在(以及如果)最终完成时快速执行。
。