色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

Callable接口介紹 Runnable和Callable的區(qū)別

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

Callable接口:

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

優(yōu)點(diǎn):

可以獲取線程的執(zhí)行結(jié)果,也稱為返回值

通過與Future的結(jié)合,可以實(shí)現(xiàn)利用Future來跟蹤異步計(jì)算的結(jié)果

Runnable和Callable的區(qū)別:

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

Callable的任務(wù)執(zhí)行后可返回值,而Runnable的任務(wù)是不能有返回值的;

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

運(yùn)行Callable任務(wù)可以拿到一個(gè)Future對(duì)象,表示異步計(jì)算的結(jié)果,它提供了檢查是否計(jì)算完成的方法,以等待計(jì)算的完成,并檢索計(jì)算的結(jié)果,通過Future對(duì)象可以了解任務(wù)執(zhí)行情況,可以取消任務(wù)的執(zhí)行,還可以獲取執(zhí)行結(jié)果

Future接口:

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

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

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

一旦計(jì)算完成了,那么這個(gè)計(jì)算就不能被取消

FutureTask類:

FutureTask類實(shí)現(xiàn)了RunnableFuture接口,而RunnableFuture接口是繼承了Runnable和Future接口,所以說FutureTask是一個(gè)提供異步計(jì)算結(jié)果的任務(wù);

FutureTask可以用來包裝Callable或者Runnable接口的實(shí)現(xiàn)對(duì)象,因?yàn)镕utureTask實(shí)現(xiàn)了Runnable接口,所以FutureTask也可以提交給線程池

Callable,Future,FutureTask三者之間的關(guān)系:

Callable的兩種執(zhí)行方式:

1:借助FutureTask,包裝Callable接口的實(shí)現(xiàn)類,然后傳遞給Thread線程執(zhí)行


2:借助線程池來執(zhí)行


線程池這個(gè)只粘貼關(guān)鍵代碼,線程池的知識(shí)就不在這多說了,之后會(huì)具體講解

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

這個(gè)接口實(shí)現(xiàn)的線程,是有返回值的

可以說一下我之前用到的場(chǎng)景

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

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 線程池
    +關(guān)注

    關(guān)注

    0

    文章

    57

    瀏覽量

    6877
  • 線程
    +關(guān)注

    關(guān)注

    0

    文章

    505

    瀏覽量

    19732
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    C++可調(diào)用Callable類型的總結(jié)

    自從在使用 std::thread 構(gòu)造函數(shù)過程中遇到了 Callable 類型的概念以來用到了很多關(guān)于它的使用。
    發(fā)表于 07-17 14:04 ?398次閱讀

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

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

    可調(diào)用的VEE服務(wù)器,Matlab無法識(shí)別

    來回傳遞數(shù)據(jù)。我已經(jīng)使用文件讀/寫來傳遞參數(shù)。我認(rèn)為問題在于Matlab而不是Callable VEE,因?yàn)閂BScript / VBAThanks的建議很好-----原始消息-----來自
    發(fā)表于 09-06 13:33

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

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

    TMS320C54x DSP Library(庫(kù))

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

    多線程并發(fā)處理方式

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

    各種標(biāo)準(zhǔn)接口介紹區(qū)別

    本文將重點(diǎn)介紹各種標(biāo)準(zhǔn)接口,并揭示它們對(duì)不同嵌入式芯片廠商的區(qū)別所在。了解基本接口可幫助設(shè)計(jì)人員優(yōu)先考慮哪些接口應(yīng)為片上。另外,雖然標(biāo)準(zhǔn)
    發(fā)表于 06-04 03:38 ?2.1w次閱讀
    各種標(biāo)準(zhǔn)<b class='flag-5'>接口</b><b class='flag-5'>介紹</b>和<b class='flag-5'>區(qū)別</b>

    USB接口、串口、并口有何區(qū)別

    本文開始介紹了USB接口的工作原理和優(yōu)點(diǎn),其次詳細(xì)的介紹了串口劃分標(biāo)準(zhǔn)和并口的區(qū)別以及并口的主要特點(diǎn)與分類,最后闡述了USB接口、串口和并口
    發(fā)表于 03-26 14:58 ?9.7w次閱讀

    TMS320,c28xDSP中創(chuàng)建可c-callable程序集函數(shù)的簡(jiǎn)單方法

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

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

    本文首先介紹了DP接口的概念與優(yōu)勢(shì),其次介紹了HDMI優(yōu)勢(shì)與選購(gòu)技巧,最后闡述了DP接口和HDMI的區(qū)別以及分析了HDMI和DP
    發(fā)表于 04-23 09:19 ?9.1w次閱讀

    端口和接口有什么區(qū)別和聯(lián)系嗎

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

    像學(xué)習(xí)編程一樣學(xué)習(xí)深度學(xué)習(xí)模型開發(fā)

    前面介紹的各種基本層,除了可以add進(jìn)Sequential容器串聯(lián)之外,它們本身也是callable對(duì)象,被調(diào)用之后,返回的還是callable對(duì)象。所以可以將它們視為函數(shù),通過調(diào)用的方式來進(jìn)行串聯(lián)。
    的頭像 發(fā)表于 06-06 09:19 ?2799次閱讀

    DeferredResult異步請(qǐng)求處理 提高系統(tǒng)吞吐量的一把利器

    基礎(chǔ)準(zhǔn)備 ResponseMsg TaskService 阻塞調(diào)用 Callable異步調(diào)用 DeferredResult異步調(diào)用 后記 大家都知道,Callable和DeferredResult
    的頭像 發(fā)表于 10-10 16:55 ?1312次閱讀

    C++ invoke與function的區(qū)別在哪?

    invoke是C++17標(biāo)準(zhǔn)引入的一個(gè)函數(shù)模板,用來調(diào)用可調(diào)用對(duì)象(Callable Object,如函數(shù)指針、函數(shù)對(duì)象、成員函數(shù)指針等)并返回結(jié)果。
    的頭像 發(fā)表于 09-04 09:11 ?863次閱讀
    C++ invoke與function的<b class='flag-5'>區(qū)別</b>在哪?

    java實(shí)現(xiàn)多線程的幾種方式

    了多種實(shí)現(xiàn)多線程的方式,本文將詳細(xì)介紹以下幾種方式: 1.繼承Thread類 2.實(shí)現(xiàn)Runnable接口 3.Callable和Future 4.線程池 5.Java 8中
    的頭像 發(fā)表于 03-14 16:55 ?771次閱讀
    主站蜘蛛池模板: 成人国产AV精品久久久久 | 国产一区二区三区在线看片 | 啊轻点灬大JI巴又大又粗 | 日本久久不射 | 亚洲精品理论电影在线观看 | 久久两性视频 | 蜜芽tv在线观看免费网站 | ppypp午夜限制不卡影院私人 | 迈开腿让我看下你的小草莓声音 | 酒色.com| 亚洲涩福利高清在线 | x69老师x日本 | 少妇伦子伦情品无吗 | 亚洲欧美日本国产在线观18 | 免费成年人在线视频 | 97在线观看成人免费视频 | 久久亚洲A片COM人成A | 岛国精品在线观看 | 老外的好大c的我好爽 | 日本孕妇大胆孕交 | 囯产精品久久久久久久久免费蜜桃 | 国产69精品9999XXXX | 精品一品国产午夜福利视频 | 日本熟妇乱人伦A片精品软件 | 日韩精品一区二区三区AV在线观看 | 成人在线视频在线观看 | 又粗又大又爽又黄的免费视频 | 亚洲二区电影 | 欧美巨大xxxx做受孕妇视频 | 国产人人为我我为人人澡 | qvod电影| 男女全黄h全肉细节文 | 国产老肥熟xxxx | 99久久国产露脸精品国产吴梦梦 | 国产传媒麻豆剧精品AV | 国内偷拍夫妻av | 国产人人为我我为人人澡 | 少妇两个奶头喷出奶水了怎么办 | 91国在线视频 | 吃奶摸下的激烈免费视频 | 亚洲欧洲日本无在线码播放 |