3

我可以这样做吗?是否可以使用相同的 Timer 使用 2 个时间表?

Long period = 10000L;

Timer timer = new Timer(); 

timer.schedule(new Mytask_1(this), 0, period);

timer.schedule(new Mytask_2(this), 0, period);

任何帮助表示赞赏!

谢谢

4

1 回答 1

3

是的你可以。但请记住,Timer 对象是一个单独的后台线程,用于按顺序执行所有计时器的任务。定时器任务应该很快完成。如果一个定时器任务花费了过多的时间来完成,它就会“占用”定时器的任务执行线程。反过来,这可以延迟后续任务的执行,这些任务可能会在(如果)有问题的任务最终完成时“聚集”并快速连续执行。

请注意,由于 Java 1.5 没有理由使用 Timer,请改用 java.util.concurrent 包调度程序。从 ScheduledThreadPoolExecutor API:

当需要多个工作线程时,此类比 Timer 更可取...

于 2013-04-26T14:19:51.857 回答