先了解下概念:
IO密集型:程序在运行过程中执行的指令,其中涉及到一些IO
操作,比如设备、文件、网络操作(等待客户端的链接)等,这些操作往往会使得当前程序阻塞住。
CPU密集型程序:程序里的指令都是做计算用的,比如一些用于科学计算、高性能计算的程序,类似于加减乘除等操作。
根据当前业务是IO密集型还是CPU密集型,设置核心线程数,最合理的设计思路:
CPU密集型:核心线程数 = CPU核数 + 1【机器学习、视频转码】
IO密集型:核心线程数 = CPU核数 * 2 【Web应用】