什么是固定线程池的理想大小?

Jai*_*Jai 5 java concurrency multithreading threadpool

固定线程池已用于通过将整数变量传递给如下所示的executors方法来限制java应用程序中的线程数

Executors.newFixedThreadPool(10);
Run Code Online (Sandbox Code Playgroud)

假设我们正在设计任何应用程序,并且我们正在使用固定线程池,那么我们如何才能决定理想的固定线程池大小或者我们应该根据什么来决定固定的线程池大小?

Ank*_*hal 6

首先,

1.)您是在FixedThreadPool为应用程序创建整个应用程序还是创建特定任务.

2.)部署应用程序的服务器,支持每个CPU有多少CPU,多少个线程.

3.)可能存在这样的情况,即您分配的线程数较少,而服务器具有更多,或者可能分配更多,并且您的任务不需要那么多.它或多或少像资源的浪费.

线程池大小很少应该是硬编码的; 相反,池大小应由配置机制提供或通过咨询动态计算Runtime.availableProcessors.

这里有详细的理解