是什么意思(解释什么是, )在多线程上,如果没有要求你取线程的返回值,或者捕获异常,大家基本上使用的都是或者,当面试时,被问到这个瞬间就是 what? 这是什么东西 。
看过我上篇文章的伙伴应该知道,《初级面试:如何向线程池提交任务,提交任务有几种方式有什么区别》没看过的莫慌 。这篇文章我来告诉你他们是什么,有什么用 。
大家都知道线程池有2中方式提交任务,分别是实现的类和的类,从中的run方法中,也可以知道他没有返回值也没有抛出异常,这也就决定了它是实现不了具有返回值和抛异常的线程 。如果我们需要获取返回值,就得想各种其他的办法来解决 。自jdk1.5开始,提供了,他们为我们提供了线程返回值和异常的功能 。如图:
文章插图
call方法抛出异常以及有返回值 。(所以他与相比,优点就出来了),对比下如何实现线程 。
文章插图
实现
文章插图
实现
就不用说了,必须要借助封装才能启动线程,看过我上篇文章的伙伴肯定会说,我在线程池中并没有使用到,而是直通过提交上去的 。是因为里面也是使用了,只是他帮我们写好了 。如图:
文章插图
眼尖的人肯定看到了这个方法,我之前说过这个方法只有实现了的类才能使用,也就证明了也是肯定实现了的 。如图:
文章插图
那么他除了包装他还能干什么呢?
文章插图
方法
从上面的源码中可以看见他实现了,而上面这些方法恰恰就是定义的 。就是对于具体的或者任务的执行结果进行取消、查询是否完成、获取结果 。也就是说提供了三种功能:1)判断任务是否完成;2)能够中断任务;3)能够获取任务执行结果 。而是的实现,对象可以对实现了和的对象进行包装,由于也是实现了接口所以它可以提交给来执行 。
【解释什么是Future, FutureTaskfuture是什么意思】郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,谢谢 。
- 小米手环5确定发布时间,小米手环4用户是否需要换购?
- 世界十大未解之谜,科学无法解释的地方。
- 网上做什么最赚钱?上网干什么赚钱?
- 在北京卖什么吃的最挣钱(在北京月赚5万真的有
- 世界上最神秘的种族,有些已经灭亡起源至今是个谜!
- 晚安是什么意思?你知道“晚安”真正的含义吗?
- steam闪退怎么办 电脑steam客户端总是闪退的解决方法
- 世界十大UFO事件,凯克斯伯格不明飞行物事件可能是真的!
- 十四种好寓意的食物介绍 中秋节吃什么
- 王者荣耀s19赛季什么时候结束?王者s20赛季开始时间