執行緒十四 ExecutorService

2021-08-28 04:12:28 字數 820 閱讀 6816

executorservice不僅能呼叫runnable的任務,它還提供了呼叫callable任務的方法。callable任務中的call方法能夠返回任務執行的結果,同時還可以丟擲受檢的異常,call方法宣告了乙個throws exception子句。為了描述executorservice的應用,我們看乙個例項:

例子中分別建立了runnable和callable兩個任務物件,service物件分別提交這兩個任務並列印出callable任務的返回值。其中的future介面代表非同步計算的結果,它的名字很好地體現了它將在未來某個時刻才有效,通過future介面的get方法,我們可以返回callable任務執行的結果。

例子中通過executors工具類返回了乙個executorservice介面的實現類。newfixedthreadpool方法建立了乙個執行緒池佇列,它定義了最多有多少個同時工作的執行緒來處理任務,如果有乙個任務在所有執行緒都在執行時提交,那麼它就會在佇列中等待一條可用的執行緒。

除了能夠提交單個任務,executorservice還能提交乙個任務集合,看乙個例項:

例子中建立了乙個執行任務的集合,通過invokeall方法集中執行,返回乙個結果集合,通過乙個for迴圈返回各個任務的執行結果。

參考鏈結

總結 第十四章 執行緒

執行緒 乙個執行緒是程序內部的分支 執行緒是共享乙個程序的記憶體空間。n thread 類 執行緒 1.寫乙個類繼承thread類,重寫run 方法,n 2.new 出這個類 n 3.呼叫這個類的start 方法,開啟執行緒,該方法會為執行緒分配資源,然後自動呼叫this,run 方法,如果直接呼叫...

第四十四講 執行緒池 最後一講

3.常用類成員 4.簡單示例 5.取消執行緒 6.啟用進度功能 這一節講完,基礎知識就沒有了,先前看完一遍做了乙個小工具給公司財務用了 雖說bug不斷,但好呆咱也都找到並解決了,只是 寫的冗餘太大,層次都沒分 覺著基礎不紮實,又重新來了一遍,應該不會再來第三遍了,哈哈。這不做了這麼多的筆記,也不是白...

《深入淺出MFC》第十四章 多執行緒程式設計

模組表示一段可執行的程式,其程式 資料 資源都被載入到記憶體中,由系統構建乙個資料結構來管理它,就是乙個模組,這個資料結構被稱作mdb。程序是一大堆擁有權的集合,程序擁有位址控制項,動態配置的記憶體 檔案 執行緒 和一系列模組,作業系統用pdb的資料結構來管理它。執行緒表示程式 的執行事實,系統用t...