网创优客建站品牌官网
为成都网站建设公司企业提供高品质网站建设
热线:028-86922220
成都专业网站建设公司

定制建站费用3500元

符合中小企业对网站设计、功能常规化式的企业展示型网站建设

成都品牌网站建设

品牌网站建设费用6000元

本套餐主要针对企业品牌型网站、中高端设计、前端互动体验...

成都商城网站建设

商城网站建设费用8000元

商城网站建设因基本功能的需求不同费用上面也有很大的差别...

成都微信网站建设

手机微信网站建站3000元

手机微信网站开发、微信官网、微信商城网站...

建站知识

当前位置:首页 > 建站知识

Java中Future的使用方法

这篇文章主要介绍“Java中Future的使用方法”,在日常操作中,相信很多人在Java中Future的使用方法问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Java中Future的使用方法”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

我们提供的服务有:网站制作、网站建设、微信公众号开发、网站优化、网站认证、藤县ssl等。为成百上千家企事业单位解决了网站和推广的问题。提供周到的售前咨询和贴心的售后服务,是有科学管理、有技术的藤县网站制作公司

在开发多线程时,我们有时会需要返回子线程的处理结果,但不幸的是Runable接口是void类型没有返回值的。有人可能会想到用实例变量的方法实现此需求。实例变量的方式当然也是可以的,在其它文章中已经介绍过了,在使用实例变量时要特别注意,因为实例变量有可能会出现线程安全问题。其实在Java中已经为我们提供了这样的接口Callable接口。我们看一下Callable接口的定义。

Java中Future的使用方法

接口中只定义了一个方法call()方法,而不是run()方法,这点要特别注意,它们都可以实现线程的异步执行。下面我们来演示一下。

Java中Future的使用方法

Java中Future的使用方法

我们调用ExecutorService接口submit()方法来添加我们的任务,执行结果和Runable接口没有什么区别。唯一不同就是Runable接口要重写run()方法,Callable接口要重写call()方法。但Callable接口还有一个更强大的功能就是它支持返回类型。通过Callable接口可以返回异步执行后的结果。

Java中Future的使用方法

Java中Future的使用方法

ExecutorService接口submit()方法返回一个Future类型。用Future就可以获取Callable接口中异步执行后的任务数据。我们看两个main线程的输出时间有些不同。这是因为当调用Future接口中的get()方法时,当前线程会被阻塞,一直等待子任务的结束,因为子任务中我们延迟了10秒,所以这两个输出时间有些偏差。Future接口中还有其它几个方法。

Java中Future的使用方法

Java中Future的使用方法

Java中Future的使用方法

Java中Future的使用方法

虽然抛出了异常,但任务还是执行完了。如果我们将参数修改为true,则线程立即中断并且不管当前线程是否执行完。

Java中Future的使用方法

Java中Future的使用方法

Java中Future的使用方法

到此,关于“Java中Future的使用方法”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注创新互联网站,小编会继续努力为大家带来更多实用的文章!


新闻名称:Java中Future的使用方法
转载源于:http://bjjierui.cn/article/jepepi.html

其他资讯