future是什么意思(解释什么是Future, FutureTask)

future什么意思(注释什么是Future, FutureTask)在多线程上,若是没有要求你取线程的返回值,或者捕捉异常,人人基本上使用的都是Thread或者Runnable…,future是什么意思(注释什么是Future, FutureTask)在多线程上,若是没有要求你取线程的返回值,或者捕捉异常,人人基本上使用的都是Thread或者Runnable,当面试时,被问到这个瞬间就是 what? 这是什么东西。,看过我上篇文章的同伴应该知道Future,FutureTask《低级面试:若何向线程池提交义务,提交义务有几种方式有什么区别》没看过的莫慌。这篇文章我来告诉你他们是什么,有什么用。,人人都知道线程池有2中方式提交义务,分别是实现Runnable的类和Callable的类,从Runnable中的run方式中,也可以知道他没有返回值也没有抛出异常,这也就决议了它是实现不了具有返回值和抛异常的线程。若是我们需要获取返回值,就得想种种其他的设施来解决。自jdk1.5最先,提供了Callable,他们为我们提供了线程返回值和异常的功效。如图:,Callable,call方式抛出异常以及有返回值。(以是他与Runnable相比,优点就出来了),对比下若何实现线程。,future是什么意思(解释什么是Future, FutureTask) 穿衣搭配 第1张,Runnable实现,future是什么意思(解释什么是Future, FutureTask) 穿衣搭配 第2张,Callable实现,康师傅是哪国的日前,第十三届中国食品安全年会在北京人民大会堂圆满闭幕,来自各地的全国人大、全国政协、国务院部委办局的领导、各食品行业组织代表及众多企业家出席了此次年会。此次年会上,各位企业家代表和行业代表都积极为食品安全问题建言献策,并且年会上还评选出了,Runnable就不用说了,Callable必须要借助FutureTask封装才气启动线程,看过我上篇文章的同伴一定会说,我在线程池中并没有使用到FutureTask,而是直通过submit提交上去的。是因为submit内里也是使用了FutureTask,只是他帮我们写好了。如图:,submit,眼尖的人一定看到了execute这个方式,我之前说过这个方式只有实现了Runnable的类才气使用,也就证明了FutureTask也是一定实现了Runnable的。如图:,future是什么意思(解释什么是Future, FutureTask) 穿衣搭配 第3张,FutureTask,那么他除了包装Callable他还能干什么呢?,future是什么意思(解释什么是Future, FutureTask) 穿衣搭配 第4张,FutureTask方式,从上面的源码中可以瞥见他实现了Future,而上面这些方式恰恰就是Future界说的。Future就是对于详细的Runnable或者Callable义务的执行效果举行作废、查询是否完成、获取效果。也就是说Future提供了三种功效:1)判断义务是否完成;2)能够中止义务;3)能够获取义务执行效果。而FutureTask是Future的实现,FutureTask工具可以对实现了Callable和Runnable的工具举行包装,由于FutureTask也是实现了Runnable接口以是它可以提交给Executor来执行。,来源:飞速吧,欢迎分享本文!

为您推荐

发表评论

电子邮件地址不会被公开。

返回顶部