CPU密集型和IO密集型(判斷最大核心線程的最大線程數)


CPU密集型和IO密集型(判斷最大核心線程的最大線程數)

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();
    }
}

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM