同时运行两个计时器

时间:2014-07-17 20:48:04

标签: java multithreading timer timertask

我有两个定时器,每个定时器运行不同的TimerTask。我希望timerTask1每5秒运行一次,而timerTask2应该运行20秒。

Timer timerPush = new Timer("RESTtimer");//create a new Timer
Timer timerPoll = new Timer("POLLTimer");//create a new Timer

timerPush.scheduleAtFixedRate(timerTask1, 0, 5000);
timerPoll.scheduleAtFixedRate(timerTask2, 0, 20000);

但是,我只看到timerTask1正在执行。有人可以解释发生了什么以及如何解决它吗?

1 个答案:

答案 0 :(得分:0)

我能想到的可能解决方案是,你可以为每个计时器生成两个线程。 第一个线程会做

  timerPush.scheduleAtFixedRate(timerTask1, 0, 5000);

和其他人会做

  timerPoll.scheduleAtFixedRate(timerTask2, 0, 20000);