線程池合理的線程數你是如何考慮的?:
1.先看下機器的CPU核數,然后在設定具體參數:
System.out.println(Runtime.getRuntime().availableProcessors());
即CPU核數 = Runtime.getRuntime().availableProcessors()
2.分析下線程池處理的程序是CPU密集型,還是IO密集型
CPU密集型:核心線程數 = CPU核數 + 1
IO密集型:核心線程數 = CPU核數 * 2
注:IO密集型(某大廠實踐經驗)
核心線程數 = CPU核數 / (1-阻塞系數) 例如阻塞系數 0.8,CPU核數為4
則核心線程數為20