在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

Callable接口介紹 Runnable和Callable的區別

454398 ? 來源:chinaunix ? 作者:zmy愛吃炸雞 ? 2020-10-16 11:30 ? 次閱讀

Callable接口:

Callable,新啟線程的一種方式,返回結果并且可能拋出異常的任務,在前面的新啟線程的文章中用過,但是沒有具體講解

優點:

可以獲取線程的執行結果,也稱為返回值

通過與Future的結合,可以實現利用Future來跟蹤異步計算的結果

Runnable和Callable的區別:

Callable規定的方法是call(),Runnable規定的接口是run();

Callable的任務執行后可返回值,而Runnable的任務是不能有返回值的;

call方法可以拋出異常,run方法不可以

運行Callable任務可以拿到一個Future對象,表示異步計算的結果,它提供了檢查是否計算完成的方法,以等待計算的完成,并檢索計算的結果,通過Future對象可以了解任務執行情況,可以取消任務的執行,還可以獲取執行結果

Future接口:

Future是一個接口,代表了一個異步計算的結果,接口中的方法用來檢查計算是否完成,等待完成和得到計算結果;

當計算完成后,只能通過get()方法得到結果,get()方法會阻塞,一直到線程的計算結果完成并返回;

如果想取消,那么調用cancel()方法,其他方法用于確定任務是正常完成還是取消了;

一旦計算完成了,那么這個計算就不能被取消

FutureTask類:

FutureTask類實現了RunnableFuture接口,而RunnableFuture接口是繼承了Runnable和Future接口,所以說FutureTask是一個提供異步計算結果的任務;

FutureTask可以用來包裝Callable或者Runnable接口的實現對象,因為FutureTask實現了Runnable接口,所以FutureTask也可以提交給線程池

Callable,Future,FutureTask三者之間的關系:

Callable的兩種執行方式:

1:借助FutureTask,包裝Callable接口的實現類,然后傳遞給Thread線程執行


2:借助線程池來執行


線程池這個只粘貼關鍵代碼,線程池的知識就不在這多說了,之后會具體講解

返回的Future接口的使用和FutureTask是一樣的

這個接口實現的線程,是有返回值的

可以說一下我之前用到的場景

是這樣的,我之前用到的一般是用于云上,或者存儲服務器下載電子文件,就是本身我一個接口就是需要查詢數據庫并,進行結果的大量計算和結果轉換的,同時還要上云上下載比較大的電子文件,所以我采用Callable配合線程池來完成云上文件的下載;
編輯:hfy

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 線程池
    +關注

    關注

    0

    文章

    57

    瀏覽量

    7037
  • 線程
    +關注

    關注

    0

    文章

    507

    瀏覽量

    20013
收藏 人收藏

    評論

    相關推薦

    C++可調用Callable類型的總結

    自從在使用 std::thread 構造函數過程中遇到了 Callable 類型的概念以來用到了很多關于它的使用。
    發表于 07-17 14:04 ?464次閱讀

    【資料分享】SDIO接口介紹( 有SD和SDIO區別)

    SDIO接口介紹( 有SD和SDIO區別)
    發表于 03-12 11:20

    可調用的VEE服務器,Matlab無法識別

    來回傳遞數據。我已經使用文件讀/寫來傳遞參數。我認為問題在于Matlab而不是Callable VEE,因為VBScript / VBAThanks的建議很好-----原始消息-----來自
    發表于 09-06 13:33

    python用pyserial讀取串口錯誤類型及解決辦法

    is not callable沒有返回值正確代碼:ser = serial.Serial('COM7', 115200, 8, 'N', 1)flag = ser.is_open原因:調用屬性is_open時將其視為函數,寫成 ser.is_open()。關于is_open的功能及用法,可參見python庫
    發表于 01-13 07:12

    TMS320C54x DSP Library(庫)

    DSP platform. This source-code library includes C-callable functions (ANSI-C language compatible) for general signal processing math and vec
    發表于 09-06 00:02 ?26次下載

    多線程并發處理方式

    1. 捕獲InterruptedException錯誤 請檢查下面的代碼片段: public class Task implements Runnable { private final
    發表于 09-28 15:02 ?0次下載

    各種標準接口介紹區別

    本文將重點介紹各種標準接口,并揭示它們對不同嵌入式芯片廠商的區別所在。了解基本接口可幫助設計人員優先考慮哪些接口應為片上。另外,雖然標準
    發表于 06-04 03:38 ?2.1w次閱讀
    各種標準<b class='flag-5'>接口</b><b class='flag-5'>介紹</b>和<b class='flag-5'>區別</b>

    USB接口、串口、并口有何區別

    本文開始介紹了USB接口的工作原理和優點,其次詳細的介紹了串口劃分標準和并口的區別以及并口的主要特點與分類,最后闡述了USB接口、串口和并口
    發表于 03-26 14:58 ?9.8w次閱讀

    TMS320,c28xDSP中創建可c-callable程序集函數的簡單方法

    c-callable程序集需要理解參數傳遞的約定和環境,這是c編譯器期望的。此應用程序報告提供了配置c編譯器以幫助解決這些問題的說明和建議。
    發表于 04-11 11:06 ?3次下載
    TMS320,c28xDSP中創建可c-<b class='flag-5'>callable</b>程序集函數的簡單方法

    一文解讀DP和HDMI的接口定義及區別分析

    本文首先介紹了DP接口的概念與優勢,其次介紹了HDMI優勢與選購技巧,最后闡述了DP接口和HDMI的區別以及分析了HDMI和DP
    發表于 04-23 09:19 ?9.2w次閱讀

    端口和接口有什么區別和聯系嗎

    本文首先介紹了端口的概念、分類及作用,其次介紹接口的概念與顯示器接口的類型,最后介紹了端口和接口
    發表于 04-23 16:54 ?6.2w次閱讀
    端口和<b class='flag-5'>接口</b>有什么<b class='flag-5'>區別</b>和聯系嗎

    像學習編程一樣學習深度學習模型開發

    前面介紹的各種基本層,除了可以add進Sequential容器串聯之外,它們本身也是callable對象,被調用之后,返回的還是callable對象。所以可以將它們視為函數,通過調用的方式來進行串聯。
    的頭像 發表于 06-06 09:19 ?2860次閱讀

    DeferredResult異步請求處理 提高系統吞吐量的一把利器

    基礎準備 ResponseMsg TaskService 阻塞調用 Callable異步調用 DeferredResult異步調用 后記 大家都知道,Callable和DeferredResult
    的頭像 發表于 10-10 16:55 ?1460次閱讀

    C++ invoke與function的區別在哪?

    invoke是C++17標準引入的一個函數模板,用來調用可調用對象(Callable Object,如函數指針、函數對象、成員函數指針等)并返回結果。
    的頭像 發表于 09-04 09:11 ?956次閱讀
    C++ invoke與function的<b class='flag-5'>區別</b>在哪?

    java實現多線程的幾種方式

    了多種實現多線程的方式,本文將詳細介紹以下幾種方式: 1.繼承Thread類 2.實現Runnable接口 3.Callable和Future 4.線程池 5.Java 8中
    的頭像 發表于 03-14 16:55 ?951次閱讀
    主站蜘蛛池模板: 天堂8资源8在线 | 国产精品视频一区二区三区 | 国产免费亚洲 | 天堂最新版在线www在线 | 深夜网站免费 | 国产你懂 | 色播在线永久免费视频网站 | 日本不卡视频一区二区 | 久久夜色撩人精品国产 | 激情.com | 波多野结衣在线观看一区二区 | 114毛片免费观看网站 | 美国色网站 | 丁香六月色婷婷综合网 | 亚洲视频国产 | 国产成人精品系列在线观看 | 大学生一级特黄的免费大片视频 | 色播六月| 一级片免费在线观看视频 | 天天网综合 | 亚洲国产精品va在线观看麻豆 | 亚洲欧美综合一区二区三区四区 | 午夜私人影院 | 久久精品人人爽人人爽 | 激情深爱五月 | 午夜影院入口 | 日日操操干干 | 色综合99| xx视频在线 | 亚洲黄色一区 | 极品美女写真菠萝蜜视频 | 日韩毛片在线看 | 性free3d| 美女又黄又免费 | 婷婷色六月 | 高h乱肉辣文辣书阁 | 四虎国产精品影库永久免费 | 日本免费不卡视频一区二区三区 | 狠狠激情五月综合婷婷俺 | 一本大道一卡二卡 | 狠狠的干狠狠的操 |