當前位置:才華齋>IT認證>SUN認證>

Java自定義執行緒池相關程式碼

SUN認證 閱讀(1.19W)

建立Java自定義執行緒池的構造方法很多,但是我們在使用中就會有以下幾個最主要的程式碼應用。我們在使用的時候就要先來了解下有關Java自定義執行緒池的原始碼。本例中引數的含義如下:

Java自定義執行緒池相關程式碼

  Java程式碼

adPoolExecutor

ic ThreadPoolExecutor(int corePoolSize,

maximumPoolSize,

keepAliveTime,

Unit unit,

kingQueue workQueue)

用給定的初始引數和預設的執行緒工廠及處理程式建立新的 ThreadPoolExecutor。使用 Executors 工廠方法之一比使用此通用構造方法方便得多。

  引數:

PoolSize - 池中所儲存的執行緒數,包括空閒執行緒。

mumPoolSize - 池中允許的最大執行緒數。

AliveTime - 當執行緒數大於核心時,此為終止前多餘的空閒執行緒

等待新任務的最長時間。

- keepAliveTime 引數的時間單位

Queue - 執行前用於保持任務的佇列。此佇列僅保持由 execute

方法提交的 Runnable 任務。

  丟擲:

IllegalArgumentException - 如果 corePoolSize 或 keepAliveTime 小於零,或者 maximumPoolSize 小於或等於零,或者 corePoolSize 大於 maximumPoolSize。

NullPointerException - 如果 workQueue 為 null

adPoolExecutor

ic ThreadPoolExecutor(int corePoolSize,

maximumPoolSize,

keepAliveTime,

Unit unit,

kingQueue workQueue)

用給定的初始引數和預設的執行緒工廠及處理程式建立新的 ThreadPoolExecutor。使用 Executors 工廠方法之一比使用此通用構造方法方便得多。

  引數:

PoolSize - 池中所儲存的執行緒數,包括空閒執行緒。

mumPoolSize - 池中允許的最大執行緒數。

AliveTime - 當執行緒數大於核心時,此為終止前多餘的空閒

執行緒等待新任務的`最長時間。

- keepAliveTime 引數的時間單位。

Queue - 執行前用於保持任務的佇列。此佇列僅保持由 execute

方法提交的 Runnable 任務。

23.丟擲:

galArgumentException - 如果 corePoolSize 或

keepAliveTime 小於零,或者 maximumPoolSize 小於或等於零,

或者 corePoolSize 大於 maximumPoolSize。

PointerException - 如果 workQueue 為 null

Java自定義執行緒池稍微麻煩些,不過通過建立的ThreadPoolExecutor執行緒池物件,可以獲取到當前執行緒池的尺寸、正在執行任務的執行緒數、工作佇列等等。