对于线程池数量的设置不同的处理类型设置的线程数不同。

cpu密集型

cpu密集型指的是cpu的计算密集型,即系统的瓶颈在cpu。比如图像处理,加解密,序列化则是cpu密集型。

IO密集型

IO密集型指的是网络io和磁盘io密集型,即系统的瓶颈在io。比如爬虫、接口调用,数据库操作等。

显然,cpu占用比较多的我们线程数量就得设置小点,对于io占用比较多的我们可以把线程设置大点。

  • cpu密集型,线程数 = CPU数 + 1。
  • IO密集型,线程数 = CPU数 * 2。

在实际的多线程任务中,一般都不止一种情况,比如爬虫数据需要比较序列化等。

实际情况得测试才能发现最合适的线程池数量设置。