Feture

Future接口在Java中用于处理异步计算的结果,提供了如cancel、get和isDone等方法来控制和检查任务状态。get方法可等待计算完成并获取结果,get(longtimeout,TimeUnitunit)允许设置等待时间限制。示例代码演示了如何取消任务和等待结果的机制。
摘要由CSDN通过智能技术生成

Feture

我们刚刚在学习iava内置线程池使用时没有考虑线程计算的结果,但开发中,我们有时需要利用线程进行一些计算,然后获取这些计算的结果,而iava中的Future接口就是专门用于描述异步计算结果的,我们可以通过Future 对象获取线程计算的结果;Future的常用方法如下:

boolean cancel(boolean maylnterruptlfRunning)试图取消对此任务的执行。
V get()如有必要,等待计算完成,然后获取其结果。
V get(long timeout, TimeUnit unit)如有必要,最多等待为使计算完成所给定的时间之后,获取其结果(如果结果可用)。
boolean isCancelled()如果在任务正常完成前将其取消,则返回true。
boolean isDone()如果任务已完成,则返回true。

cancel 方法

boolean cancel(boolean maylnterruptlfRunning)试图取消对此任务的执行。

V get() 方法

V get()如有必要,等待计算完成,然后获取其结果。
V get(long timeout, TimeUnit unit)如有必要,最多等待为使计算完成所给定的时间之后,获取其结果(如果结果可用)。

demo1

demo1:
在这里插入图片描述
在这里插入图片描述

demo2

取消任务

在这里插入图片描述
因为线程还在执行中,所以可以取消成功

demo3

等待指定的时间,比如线程需要2秒执行完成,非的1秒就等待1秒。这个时候程序会报错。
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值