在Java中以不同的时间间隔运行多个计时器任务

在Java中以不同的时间间隔运行多个计时器任务,java,multithreading,timertask,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() { @Overri

假设我有以下代码

 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分钟

如果出现后一种情况,将其拆分为两个线程是否是唯一的选择?

来自:

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

每个计时器实例都将独立执行。

来自:

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


您的每个计时器实例都将独立执行。

您不能以较小的间隔运行此程序并对其进行测试吗?@natewlch,我这样做了。没有像预期的那样工作。整个事情都挂断了我的系统。你能不能以较小的间隔运行并测试一下它?@natewlch,我做了。没有像预期的那样工作。整件事把我的系统挂了。