我们依据什么配置线程池中线程的个数

一、首先了解本机的核心线程数

Runtime.getRuntime().availableProcessors()

二、判断项目属于 CPU密集型还是IO密集型

1、CPU密集型

CPU密集即需要大量运算,且没有阻塞,CPU一直全速运行

参考公式:CPU核数 + 1

比如8核CPU 我们可以构建9个线程的线程池

2、IO密集型

算法一: CPU核数*2
算法二:
IO密集即该任务需要大量的IO,大量的阻塞
IO密集型,大部分线程都会被阻塞,故需要多配置线程数
参考公式: CPU核心数/(1-阻塞系数)
阻塞系数: 0.8-0.9

比如 8核CPU :8/(1-0.9) = 80 个线程数

发布了328 篇原创文章 · 获赞 23 · 访问量 7万+

猜你喜欢

转载自blog.csdn.net/lbh199466/article/details/104468115
今日推荐