Bit*_*map 1 java scheduling timer
我有一个计时器例程,我想每两个小时执行一次.但我的下面的逻辑似乎执行得比预期的要早.有谁知道我做错了什么?
(new Timer()).scheduleAtFixedRate(new TimerTask()
{
@Override
public void run()
{
try
{
//TODO: Perform routine.
}
catch (Exception ex)
{
try
{
throw ex;
}
catch (Exception e)
{
}
}
}
}, 0, (1000 * 60 * 120));
Run Code Online (Sandbox Code Playgroud)
谢谢.
根据javadoc,您的代码应立即触发例程(初始延迟为零),然后每2小时(120分钟后).
scheduleAtFixedRate(TimerTask任务,长延迟,长周期)
在指定的延迟之后开始,为重复的固定速率执行安排指定的任务.
如果你想在2小时后第一次触发,那么就做
long interval = 1000 * 60 * 120;
scheduleAtFixedRate(task, interval, interval)
Run Code Online (Sandbox Code Playgroud)