JAVA8 六種執行緒池介紹

2021-09-24 21:53:49 字數 634 閱讀 9862

(1) newcachedthreadpool 

建立乙個可快取執行緒池,如果執行緒池長度超過處理需要,可靈活**空閒執行緒,若無可**,則新建執行緒。 

執行緒池為無限大,當執行第二個任務時第乙個任務已經完成,會復用執行第乙個任務的執行緒,而不用每次新建執行緒。 

可能導致記憶體溢位,一般使用newfixedthreadpool代替 

(2) newfixedthreadpool 

建立乙個定長線程池,可控制線程最大併發數,超出的執行緒會在佇列中等待 

(3) newscheduledthreadpool 

建立乙個定長線程池,支援定時及週期性任務執行 

(4) newsinglethreadexecutor 

建立乙個單執行緒化的執行緒池,它只會用唯一的工作執行緒來執行任務,保證所有任務按照指定順序(fifo, lifo, 優先順序)執行 

(5) newsinglethreadscheduledexecutor 

建立只有一條執行緒的執行緒池,他可以在指定延遲後執行執行緒任務 

(6) newworkstealingpool 

會更加所需的並行層次來動態建立和關閉執行緒。它同樣會試圖減少任務佇列的大小,所以比較適於高負載的環境。同樣也比較適用於當執行的任務會建立更多工,如遞迴任務。

JAVA 8 多執行緒

方法1實現runnable介面 方法2實現thread介面 public class createthread implements runnable 匿名類 沒有建構函式 class a public static void main string args a c new k k是抽象的介面,呼...

JAVA多執行緒的六種狀態例項

多執行緒六種狀態例項,最下方圖是執行 流程,希望對你有幫助!多執行緒的六種狀態 public class threadstatustest catch interruptedexception e 同步鎖 synchronized obj catch interruptedexception e s...

六種執行緒狀態詳解

執行緒從建立到執行到結束是乙個執行緒的生命週期,當執行緒被建立到結束過程中,不是一直處於執行狀態的,下面來介紹一下執行緒從執行到結束所有的狀態.執行緒狀態 導致狀態發生條件 new 新建 執行緒剛被建立,沒有啟動,也就是還沒呼叫start 方法.mythread t new mythread只有執行...