執行緒池ExecutorService的主要方法

2021-09-26 03:32:42 字數 1291 閱讀 8845

返回值

方法體說明

boolean

awaittermination(long timeout, timeunit unit)

請求關閉、發生超時或者當前執行緒中斷,無論哪乙個首先發生之後,都將導致阻塞,直到所有任務完成執行。

list>

invokeall(collection<? extends callable> tasks)

執行給定的任務,當所有任務完成時,返回保持任務狀態和結果的 future 列表。

list>

invokeall(collection<? extends callable> tasks, long timeout, timeunit unit)

執行給定的任務,當所有任務完成或超時期滿時(無論哪個首先發生),返回保持任務狀態和結果的 future 列表。

tinvokeany(collection<? extends callable> tasks)

執行給定的任務,如果某個任務已成功完成(也就是未丟擲異常),則返回其結果。

tinvokeany(collection<? extends callable> tasks, long timeout, timeunit unit)

執行給定的任務,如果在給定的超時期滿前某個任務已成功完成(也就是未丟擲異常),則返回其結果。

boolean

isshutdown()

如果此執行程式已關閉,則返回 true。

boolean

isterminated()

如果關閉後所有任務都已完成,則返回 true。

void

shutdown()

啟動一次順序關閉,執行以前提交的任務,但不接受新任務。

list

shutdownnow()

試圖停止所有正在執行的活動任務,暫停處理正在等待的任務,並返回等待執行的任務列表。

future

submit(callabletask)

提交乙個返回值的任務用於執行,返回乙個表示任務的未決結果的 future。

future<?>

submit(runnable task)

提交乙個 runnable 任務用於執行,並返回乙個表示該任務的 future。

future

submit(runnable task, t result)

提交乙個 runnable 任務用於執行,並返回乙個表示該任務的 future。

void

execute(runnable command)

在未來某個時間執行給定的命令。

執行緒池的實現方式 ExecutorService

使用 threadpoolexecutor 實現執行緒池的建立,有4個不同的構造方法。public threadpoolexecutor int corepoolsize,int maximumpoolsize,long keepalivetime,timeunit unit,blockingque...

執行緒 執行緒池

執行緒池是一種多執行緒處理形式,處理過程中將任務新增到佇列,然後在建立執行緒後執行,主要實現 建立執行緒和管理執行緒,並且給執行緒分配任務。執行緒池中的執行緒是併發執行的。乙個比較簡單的執行緒池至少應包含執行緒池管理器 工作執行緒 任務列隊 任務介面等部分。其中執行緒池管理器的作用是建立 銷毀並管理...

執行緒 執行緒池

乙個簡單執行緒的建立和銷毀如下 與程序程序相比,執行緒是一種輕量級的工具,但是輕量並不代表沒有,它的建立和關閉依然需要花費時間,如果建立和銷毀的時間還大於執行緒本身完成的工作,那就會得不償失,甚至會造成out of memory。即使沒有,大量的執行緒 也會給gc帶來巨大的壓力。為了解決這樣的問題,...