什么是多线程FutureTask

本篇内容主要讲解“什么是多线程FutureTask”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“什么是多线程FutureTask”吧!

创新互联公司基于成都重庆香港及美国等地区分布式IDC机房数据中心构建的电信大带宽,联通大带宽,移动大带宽,多线BGP大带宽租用,是为众多客户提供专业服务器托管报价,主机托管价格性价比高,为金融证券行业温江服务器租用,ai人工智能服务器托管提供bgp线路100M独享,G口带宽及机柜租用的专业成都idc公司。


      笔者今天学习FutureTask包装器,简单点讲该包装器就是对底层线程任务执行的包装,包括返回值,异常抛出等。比如说我们现在有个任务需要交个run方法进行执行,这时候我们调用Thread的start方法,然后JVM开启一个线程帮我们执行该方法,但是run返回值为void,并且不能抛出异常,这是就需要包装器对其进行包装。今天笔者就来自己实现下FutureTask简单的底层实现原理。

  1. 首先创建MyCallable接口,添加未实现的myCall的方法该方法返回T类型的返回值,后面交给自定义MyFutureTask任务包装器执行。

什么是多线程FutureTask

  1. 编写MyFutureTask类实现Runnable接口,为什么实现这个接口呢,因为我们需要将myCall接口交给JVM底层的线程去执行。通常Thread的构造函数会传入Runnable接口进去。然后调用Runnable的run方法。等会我们也需要开启一个线程传入MyFutureTask对象进行。让底层开启一个线程帮我们执行MyFutureTask的fun方法。

什么是多线程FutureTask

  1. MyFutureTask的重写Runnable的run方法,调用myCallable的myCall的方法执行任务,并获取返回结果。这里JVM底层会开启一个线程帮我们执行run方法。

什么是多线程FutureTask

  1. 接着在run方法中如果线程任务执行完后,这修改其状态为COMPLETE,并唤醒等待的线程。这里涉及到了线程的通讯,我只简单的提一下,后续会有专题进行记录。

什么是多线程FutureTask
什么是多线程FutureTask

到此,相信大家对“什么是多线程FutureTask”有了更深的了解,不妨来实际操作一番吧!这里是创新互联网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!


文章名称:什么是多线程FutureTask
转载源于:http://bzwzjz.com/article/gihhdj.html

其他资讯

Copyright © 2007-2020 广东宝晨空调科技有限公司 All Rights Reserved 粤ICP备2022107769号
友情链接: 成都企业网站建设 成都网站建设 手机网站建设 手机网站制作 定制网站设计 成都做网站建设公司 网站建设方案 成都网站建设公司 成都模版网站建设 成都网站设计公司 成都企业网站制作 成都商城网站制作 专业网站建设 成都企业网站设计 上市集团网站建设 网站建设公司 移动网站建设 成都网站设计制作公司 成都网站制作 高端品牌网站建设 外贸网站建设 成都营销网站建设