任务之间有固定延迟的定时器

时间:2011-06-06 18:07:48

标签: java timer

我希望有一个计时器任务,它可以在每个任务之间运行两个具有固定延迟的任务。

例如:

一个------ -----乙一块------乙
0 ------ ---- 10 ---- 20 30

我尝试使用此代码:

timer.scheduleAtFixedRate(taskA, 0, 10000);
timer.scheduleAtFixedRate(taskB, 10000, 10000);

但是这给了我:

一个----- A,B ----- A,B
0 ----- ------ 10 20

如何使用Timer和TimerTask执行此操作?

3 个答案:

答案 0 :(得分:2)

只需加倍你的间隔:

  timer.scheduleAtFixedRate(taskA, 0, 20000);
  timer.scheduleAtFixedRate(taskB, 10000, 20000);

答案 1 :(得分:1)

创建一个计时器并让它替换它调用的任务。或者创建两个定时器,一个用于任务A,一个用于任务B,具有两倍的延迟。

答案 2 :(得分:1)

我会使用一个维护内部切换的任务来执行此操作。