JDK提供的幾種執行緒池比較

2022-09-07 11:06:12 字數 619 閱讀 9374

jdk提供的幾種執行緒池

newfixedthreadpool

建立乙個指定工作執行緒數量的執行緒池。每當提交乙個任務就建立乙個工作執行緒,如果工作執行緒數量達到執行緒池初始的最大數,則將提交的任務存入到池佇列中。

newcachedthreadpool

建立乙個可快取的執行緒池。這種型別的執行緒池特點是:

1).工作執行緒的建立數量幾乎沒有限制(其實也有限制的,數目為interger. max_value), 這樣可靈活的往執行緒池中新增執行緒。

2).如果長時間沒有往執行緒池中提交任務,即如果工作執行緒空閒了指定的時間(預設為1分鐘),則該工作執行緒將自動終止。終止後,如果你又提交了新的任務,則執行緒池重新建立乙個工作執行緒。

newsinglethreadexecutor

建立乙個單執行緒化的executor,即只建立唯一的工作者執行緒來執行任務,如果這個執行緒異常結束,會有另乙個取代它,保證順序執行(我覺得這點是它的特色)。單工作執行緒最大的特點是可保證順序地執行各個任務,並且在任意給定的時間不會有多個執行緒是活動的 。

newschedulethreadpool

建立乙個定長的執行緒池,而且支援定時的以及週期性的任務執行,類似於timer。(這種執行緒池原理暫還沒完全了解透徹)

**:

JDK 執行緒池

在jdk的4種執行緒池之前,先介紹一下執行緒池的幾個引數 固定執行緒池數量,核心執行緒數 最大執行緒數 任務佇列 linkedblockingqueue integer.max value 無界佇列 適用於同時處理固定任務數的場景.public static executorservice newf...

jdk執行緒池詳解

public threadpoolexecutor int corepoolsize,核心執行緒數 intmaximumpoolsize,最大執行緒數 long keepalivetime,空閒時間 timeunit unit,時間單位 blockingqueueworkqueue,等待佇列 thr...

安卓複習之旅 JDK中預設提供的執行緒池

主要有一下4種執行緒池 一 newfixedthreadpool建立乙個指定工作執行緒數量的執行緒池。每當提交乙個任務就建立乙個工作執行緒,如果工作執行緒數量達到執行緒池初始的最大數,則將提交的任務存入到池佇列中。二 newcachedthreadpool建立乙個可快取的執行緒池。這種型別的執行緒池...