在Java中以不同的间隔运行多个Timer任务

时间:2014-04-27 16:05:45

标签: java multithreading timertask

说我有以下代码

 Timer t1 = new Timer();
 t1.scheduleAtFixedRate(new TimerTask() {
        @Override
         public void run(){
             //TASK 1
         }
 },0,2000);

 Timer t2 = new Timer();
 t2.scheduleAtFixedRate(new TimerTask() {
        @Override
         public void run(){
             //TASK 2
         }
 },0,180000);

Task1和Task2会相互独立运行,还是Task2会将该过程拖延30分钟?

如果后者发生,将它分成两个线程是唯一的选择吗?

1 个答案:

答案 0 :(得分:3)

来自Javadoc of Timer

  

对应每个 Timer对象是一个后台线程   用于按顺序执行所有计时器的任务。

每个Timer实例都将独立执行。