線程池的5種創建方式


1. Single Thread Executor:只有一個線程的線程池,因此所有提交的任務是順序執行。

代碼:Executors.newSingleThreadExecutor()

2. Cached Thread Pool:線程池里有很多線程需要同時執行,老的可用線程將被新的任務觸發重新執行,如果線程超過60秒內沒執行,那么將被終止並從池中刪除。

代碼:Executors.newCachedThreadPool()

3. Fixed Thread Pool:擁有固定線程數的線程池,如果沒有任務執行,那么線程會一直等待。

代碼:Executors.newFixedThreadPool(4)

在構造函數中的參數4是線程池的大小,你可以隨意設置,也可以和cpu的核數量保持一致,獲取cpu的核數量方式:int cpuNums = Runtime.getRuntime().availableProcessors();

4. Scheduled Thread Pool:用來調度即將執行的任務的線程池。

代碼:Executors.newScheduledThreadPool()

5. Single Thread Scheduled Pool:只有一個線程,用來調度任務在指定時間執行。

代碼:Executors.newSingleThreadScheduledExecutor()


免責聲明!

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



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