java-我可以用Timer对象使程序饱和吗?

我有一个计划使用很多Timer对象的程序,据我了解,每个Timer都在其自己的线程上运行.所以我想知道是否有可能启动太多的计时器,以至于过多的线程会损害程序的性能.

例如,我在考虑具有几个(布尔值,计时器)对,使布尔值在几个不同的时间间隔内反转.

解决方法:

是的,Timer对象确实消耗线程资源,因此有可能在JVM中达到极限.如果您的目标是计划要在各个时间点运行的任务,则可能需要查看许多Java ExecutorService实现之一,例如ScheduledThreadPoolExecutor.Executors类提供了一个方便的工厂来生成这些对象.一些实现利用线程池,您可以配置线程池以确定可以同时运行多少个任务.您还可以使用任务产生的输出(如果有),并在程序需要退出时以有序的方式关闭任务.

上一篇:缓存性能像内存一样的数据集并将其与数据库更改绑定的最佳方法是什么?


下一篇:最佳的MySQL服务器配置以获得性能?