use*_*946 5 java multithreading android timer
最近我不得不编写一些需要大量定时任务才能发生的应用程序。但是,我害怕创建这么多计时器,因为我一直无法弄清楚 Java 是如何处理它们的。启动大量定时任务有问题吗?如果是这样,什么是更好的选择?
如果您指的是一个计时器和很多任务,Javadocs 会Timer说:
实现说明:此类可扩展到大量并发计划任务(数千个应该没有问题)。在内部,它使用二叉堆来表示其任务队列,因此调度任务的成本为 O(log n),其中 n 是并发调度任务的数量。
请注意,只有一个线程运行任务。如果您需要同时运行大量计时器或更多线程,您应该查看java.util.concurrent.ScheduledThreadPoolExecutor.