java多執行緒之Callable

2021-08-22 17:57:58 字數 619 閱讀 9664

callable和runnbale一樣代表著是執行緒任務,區別在於callable有返回值並且可以丟擲異常。

建立並啟動有返回值的執行緒的步驟如下:

建立callable介面的實現類,並實現call()方法,該call()方法將作為執行緒執行體,並且該call()方法有返回值。

將callable例項傳入futuretask類。

使用futuretask物件作為thread物件的target建立並啟動新執行緒。

呼叫futuretask物件的get()方法來獲得子執行緒結束後的返回值。

示例**:

mycallable類:

public class mycallable implements callable		

return sum;

}}

main類:

public class main  catch (exception e) 

}

啟動後我們可以看到主線程定義的sum變數成功取到mycallable例項計算得到的sum值。

擴充套件:在future介面裡定義如下幾個公共方法來控制它關聯的callable任務。

JAVA多執行緒之 執行緒池

執行緒池顧名思義,就是乙個放置執行緒的池子。就跟資料庫連線池差不多。執行緒池通過對併發執行緒的控制,能有效的節省系統資源的浪費,提高系統的效能。學習執行緒池,先了解一下執行緒池的乙個基本結構 executor是乙個介面,其中只有乙個方法,就是execute方法。所以executor實際就是乙個執行緒...

Java多執行緒之執行緒安全

當多個執行緒訪問某乙個類 物件或方法時 這個類始終都能表現出正確的行為,那麼這個類 物件或方法 就是執行緒安全的。public class mythread extends thread public static void main string args 結果如下 t1正在執行 4 t1正在執行...

java 多執行緒 之 Excutor

excutor介面 提供了一種將任務提交和任務執行機制相分離的方法 excutorservice介面 提供了excutor的管理介面,以及可為跟蹤乙個或多個非同步任務狀態而生成future的方法 scheduledexcutorservice介面 提供了可以安排在給定的延遲後執行或定時執行的命令 方...