亚洲精品久久久中文字幕-亚洲精品久久片久久-亚洲精品久久青草-亚洲精品久久婷婷爱久久婷婷-亚洲精品久久午夜香蕉

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

Java多線程Callable和Future接口區(qū)別

瀏覽:93日期:2022-09-02 17:52:44

Runnable是執(zhí)行工作的獨(dú)立任務(wù),但是不返回任何值。如果我們希望任務(wù)完成之后有返回值,可以實(shí)現(xiàn)Callable接口。在JavaSE5中引入的Callable是一個(gè)具有類型參數(shù)的范型,他的類型參數(shù)方法表示為方法call()而不是run()中返回的值,并且必須使用ExecutorService.submint()方法進(jìn)行調(diào)用。

代碼如下

import java.util.concurrent.Callable;import java.util.concurrent.ExecutionException;import java.util.concurrent.FutureTask;/* * 一、創(chuàng)建執(zhí)行線程的方式三:實(shí)現(xiàn) Callable 接口。 相較于實(shí)現(xiàn) Runnable 接口的方式,方法可以有返回值,并且可以拋出異常。 * * 二、執(zhí)行 Callable 方式,需要 FutureTask 實(shí)現(xiàn)類的支持,用于接收運(yùn)算結(jié)果。 FutureTask 是 Future 接口的實(shí)現(xiàn)類 */public class TestCallable { public static void main(String[] args) { ThreadDemo td =new ThreadDemo(); //1.執(zhí)行 Callable 方式,需要 FutureTask 實(shí)現(xiàn)類的支持,用于接收運(yùn)算結(jié)果。 FutureTask<Integer> result =new FutureTask<>(td); new Thread(result).start(); //2.接收線程運(yùn)算后的結(jié)果 try { Integer sum = result.get(); //FutureTask 可用于 閉鎖 類似于CountDownLatch的作用,在所有的線程沒(méi)有執(zhí)行完成之后這里是不會(huì)執(zhí)行的 System.out.println(sum); System.out.println('------------------------------------'); }catch (InterruptedException | ExecutionException e) { e.printStackTrace(); } }}class ThreadDemo implements Callable<Integer> { @Override public Integer call() throws Exception { int sum = 0; for (int i = 0; i <= 100000; i++) { sum += i; } return sum; }}

 綜上例子可以看到: Callable 和 Future接口的區(qū)別

(1)Callable規(guī)定的方法是call(),而Runnable規(guī)定的方法是run().

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

(3)call()方法可拋出異常,而run()方法是不能拋出異常的。

(4)運(yùn)行Callable任務(wù)可拿到一個(gè)Future對(duì)象, Future表示異步計(jì)算的結(jié)果。

它提供了檢查計(jì)算是否完成的方法,以等待計(jì)算的完成,并檢索計(jì)算的結(jié)果。

通過(guò)Future對(duì)象可了解任務(wù)執(zhí)行情況,可取消任務(wù)的執(zhí)行,還可獲取任務(wù)執(zhí)行的結(jié)果。

Callable是類似于Runnable的接口,實(shí)現(xiàn)Callable接口的類和實(shí)現(xiàn)Runnable的類都是可被其它線程執(zhí)行的任務(wù)。

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持好吧啦網(wǎng)。

標(biāo)簽: Java
相關(guān)文章:
主站蜘蛛池模板: 在线久综合色手机在线播放 | 免费区欧美一级毛片 | 成人免费一级在线播放 | 91视频地址| 香蕉视频精品 | 成人夜色香网站在线观看 | 国产成人精品区在线观看 | 黄色网页在线播放 | 中文字幕在线国产 | 国产无限免费观看黄网站 | 亚洲黄色免费观看 | 欧美人一级淫片a免费播放 欧美人七十二式性视频教程一 | 亚洲三页 | 在线播放黄色网址 | 成人欧美在线观看 | 欧美日韩黄色大片 | 在线观看一级毛片免费 | 亚洲精品久久婷婷爱久久婷婷 | 伊人久久综合影院首页 | japanese无码中文字幕 | 小明成人永久视频在线观看 | 黄色性一级片 | 日本内谢69xxxx免费播放 | 亚欧日韩毛片在线看免费网站 | 亚洲国产成人99精品激情在线 | 国产成人一区二区三区视频免费 | 超清波多野结衣精品一区 | 久久99精品久久久久久首页 | 亚洲成人7777| 国产乱理伦片在线观看 | 亚洲国产一区二区三区 | 一级毛片特级毛片国产 | 在线观看亚洲专区 | www.欧美黄色 | 高清影院|精品秒播3 | 亚洲欧美日韩高清在线看 | 亚洲国产m3u8在线观看 | 亚洲 欧美 国产 制服 动漫 | 不卡视频在线观看 | 七色永久性tv网站免费看 | 亚洲二区在线播放 |