executorService的newFixedThreadPool()为什么我们需要固定数量的活动线程?

时间:2016-02-09 11:02:30

标签: java multithreading

ExecutorService.newFixedThreadPool()是否有任何实时场景我们更喜欢拥有一组固定的活动线程,即使没有任何内容需要处理?

1 个答案:

答案 0 :(得分:2)

实际上,拥有固定数量的线程总是比每次必须处理任务时产生一个新线程更好。

线程的创建和维护成本很高,而且无法在应用程序中创建活动线程数,最终可能会损害性能。固定线程池重用已创建的线程,这将消除线程创建开销。

当你保留固定数量的线程时,你可以更好地预测你的内存和CPU使用率,至少恕我直言。

当然,没有适合所有用例的配方,在选择最适合您特定情况的范例之前,您应该进行严格的测试和测量。尝试不同的配置可以让您更好地理解并指出最佳解决方案。