(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只有執行...