CPU密集型
1.CPU密集型
獲取電腦CPU的最大核數,幾核,最大線程數就是幾Runtime.getRuntime().availableProcessors()--->獲取電腦的CPU核數
IO密集型
2.IO密集型
判斷程序中,十分耗IO的線程,最大線程一般設置成大於大型IO項目的兩倍
代碼實現
public class Demo02 { public static void main(String[] args) { System.out.println(Runtime.getRuntime().availableProcessors()); ExecutorService threadPool = new ThreadPoolExecutor( 2, Runtime.getRuntime().availableProcessors(),//最大核心核心線程數 3, TimeUnit.SECONDS, new LinkedBlockingDeque<>(3), Executors.defaultThreadFactory(), new ThreadPoolExecutor.DiscardOldestPolicy() ); //最大承載數:Deque+Max for (int i = 1; i <=3; i++) { threadPool.execute(()-> { System.out.println(Thread.currentThread().getName()+": "+"OK"); }); } threadPool.shutdown(); } }