在Java中启动大量计时器的系统效果是什么?

时间:2009-07-14 16:30:02

标签: java android multithreading timer

最近我不得不编写一些需要大量定时任务的应用程序。但是,我害怕创建这么多的计时器,因为我无法弄清楚它们是如何被Java处理的。启动大量计划任务是否有问题?如果是这样,有什么更好的选择?

2 个答案:

答案 0 :(得分:3)

如果你的意思是一个计时器和很多任务,Timer的Javadocs说:

  

实施说明:本课程可扩展   大量并发   预定的任务(数千人应该   现在没问题)。在内部,它   使用二进制堆来表示它   任务队列,所以安排成本   任务是O(log n),其中n是   同时安排的人数   任务。

请注意,只有一个线程可以运行任务。如果您需要同时运行大量计时器或更多线程,则应该查看java.util.concurrent.ScheduledThreadPoolExecutor

答案 1 :(得分:1)

我能想到没有问题。但你可能想读这个:

Timers

和此:

Schedule periodic tasks