电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

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

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

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

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

代碼如下

import java.util.concurrent.Callable;import java.util.concurrent.ExecutionException;import java.util.concurrent.FutureTask;/* * 一、創(chuàng)建執(zhí)行線程的方式三:實現(xiàn) Callable 接口。 相較于實現(xiàn) Runnable 接口的方式,方法可以有返回值,并且可以拋出異常。 * * 二、執(zhí)行 Callable 方式,需要 FutureTask 實現(xiàn)類的支持,用于接收運算結(jié)果。 FutureTask 是 Future 接口的實現(xiàn)類 */public class TestCallable { public static void main(String[] args) { ThreadDemo td =new ThreadDemo(); //1.執(zhí)行 Callable 方式,需要 FutureTask 實現(xiàn)類的支持,用于接收運算結(jié)果。 FutureTask<Integer> result =new FutureTask<>(td); new Thread(result).start(); //2.接收線程運算后的結(jié)果 try { Integer sum = result.get(); //FutureTask 可用于 閉鎖 類似于CountDownLatch的作用,在所有的線程沒有執(zhí)行完成之后這里是不會執(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)運行Callable任務(wù)可拿到一個Future對象, Future表示異步計算的結(jié)果。

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

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

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

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

標(biāo)簽: Java
相關(guān)文章:
主站蜘蛛池模板: 档案密集架_电动密集架_移动密集架_辽宁档案密集架-盛隆柜业厂家现货批发销售价格公道 | 洗地机_全自动洗地机_手推式洗地机【上海滢皓环保】 | 包塑丝_高铁绑丝_地暖绑丝_涂塑丝_塑料皮铁丝_河北创筹金属丝网制品有限公司 | 恒压供水控制柜|无负压|一体化泵站控制柜|PLC远程调试|MCGS触摸屏|自动控制方案-联致自控设备 | 立式硫化罐-劳保用品硫化罐-厂家直销-山东鑫泰鑫硫化罐厂家 | 济南铝方通-济南铝方通价格-济南方通厂家-山东鲁方通建材有限公司 | 办公室家具_板式办公家具定制厂家-FMARTS福玛仕办公家具 | 吲哚菁绿衍生物-酶底物法大肠菌群检测试剂-北京和信同通科技发展有限公司 | 小型气象站_便携式自动气象站_校园气象站-竞道气象设备网 | 广东燎了网络科技有限公司官网-网站建设-珠海网络推广-高端营销型外贸网站建设-珠海专业h5建站公司「了了网」 | 热处理温控箱,热处理控制箱厂家-吴江市兴达电热设备厂 | 自动化生产线-自动化装配线-直流电机自动化生产线-东莞市慧百自动化有限公司 | 合肥角钢_合肥槽钢_安徽镀锌管厂家-昆瑟商贸有限公司 | 法钢特种钢材(上海)有限公司 - 耐磨钢板、高强度钢板销售加工 阀门智能定位器_电液动执行器_气动执行机构-赫尔法流体技术(北京)有限公司 | 大连海岛旅游网>>大连旅游,大连海岛游,旅游景点攻略,海岛旅游官网 | 立式矫直机_卧式矫直机-无锡金矫机械制造有限公司 | PCB厂|线路板厂|深圳线路板厂|软硬结合板厂|电路板生产厂家|线路板|深圳电路板厂家|铝基板厂家|深联电路-专业生产PCB研发制造 | 博客-悦享汽车品质生活 | 珠海冷却塔降噪维修_冷却塔改造报价_凉水塔风机维修厂家- 广东康明节能空调有限公司 | lcd条形屏-液晶长条屏-户外广告屏-条形智能显示屏-深圳市条形智能电子有限公司 | 临海涌泉蜜桔官网|涌泉蜜桔微商批发代理|涌泉蜜桔供应链|涌泉蜜桔一件代发 | 医养体检包_公卫随访箱_慢病随访包_家签随访包_随访一体机-济南易享医疗科技有限公司 | 洛阳防爆合格证办理-洛阳防爆认证机构-洛阳申请国家防爆合格证-洛阳本安防爆认证代办-洛阳沪南抚防爆电气技术服务有限公司 | 消防泵-XBD单级卧式/立式消防泵-上海塑泉泵阀(集团)有限公司 | 锤式粉碎机,医药粉碎机,锥式粉碎机-无锡市迪麦森机械制造有限公司 | 江苏齐宝进出口贸易有限公司 | 中高频感应加热设备|高频淬火设备|超音频感应加热电源|不锈钢管光亮退火机|真空管烤消设备 - 郑州蓝硕工业炉设备有限公司 | Eiafans.com_环评爱好者 环评网|环评论坛|环评报告公示网|竣工环保验收公示网|环保验收报告公示网|环保自主验收公示|环评公示网|环保公示网|注册环评工程师|环境影响评价|环评师|规划环评|环评报告|环评考试网|环评论坛 - Powered by Discuz! | 免费网站网址收录网_海企优网站推荐平台| 全球化工设备网—化工设备,化工机械,制药设备,环保设备的专业网络市场。 | 超细|超微气流粉碎机|气流磨|气流分级机|粉体改性机|磨粉机|粉碎设备-山东埃尔派粉体科技 | 气动机械手-搬运机械手-气动助力机械手-山东精瑞自动化设备有限公司 | 工装定制/做厂家/公司_工装订做/制价格/费用-北京圣达信工装 | 海峰资讯 - 专注装饰公司营销型网站建设和网络营销培训 | 对辊破碎机-液压双辊式,强力双齿辊,四辊破碎机价格_巩义市金联机械设备生产厂家 | 低压载波电能表-单相导轨式电能表-华邦电力科技股份有限公司-智能物联网综合管理平台 | 纯化水设备-纯水设备-超纯水设备-[大鹏水处理]纯水设备一站式服务商-东莞市大鹏水处理科技有限公司 | 辐射仪|辐射检测仪|辐射巡测仪|个人剂量报警仪|表面污染检测仪|辐射报警仪|辐射防护网 | 安德建奇火花机-阿奇夏米尔慢走丝|高维|发那科-北京杰森柏汇 | 电竞学校_电子竞技培训学校学院-梦竞未来电竞学校官网 | 智能终端_RTU_dcm_北斗星空自动化科技 |