线程池的核心线程数量取决于执行任务的性质。
如果是cpu密集型(计算密集型),那么核心线程数量=服务器核心数量,核心数+1,核心数-1均可。
- 核心线程数等于服务器核心数-1的原因:服务器可能除了线程池之外,还有其他任务需要去执行。
- 核心线程数等于服务器核心数的原因:全面利用cpu去运行这个线程池。
- 核心线程数等于服务器核心数+1的原因:激发cpu潜力,更好的全面利用cpu去运行线程池。
如果为IO密集型,则核心线程池数量为2n,3n,4n不等(n为电脑核心数)。
因为对于IO操作,CPU只需要对相应的文件进行通知一声,不需要进行过多的运算。