我想知道是否有人知道一些用于研究线程池如何实现的好资源。我被要求定义一个动态调整最大线程池大小的算法。大多数资源定义了您希望线程池的情况,即任务是短暂的,但在这个问题中,情况更加多样化。更长的任务以及短期,一些cpu密集,一些经常闲置。
我的第一个答案是"你可能不应该使用线程池"但我想我应该有一个真正的答案。
我有一个想法是使用启发式来观察系统资源(CPU,内存)并相应地调整大小。或者我可以监视线程以查看它们的使用时间以及int
答案 0 :(得分:0)
您可以使用库therore-concurrent的类 SelfTuningExecutors 。我有同样的需求,我决定实现JDK ThreadPoolExecutor 的扩展,它可以适应不同类型的任务。您可以查看此页面link