java执行器框架执行任务并返回结果

1.java并发API提供了Callable接口和Future接口来实现执行任务并返回结果的功能


2.callable接口:

类似与runnable接口,该接口生命了call()方法,具体的操作逻辑定义在该方法中。该方法的返回值在Callable接口的泛型中进行定义。


3.Future接口:

该接口定义了相关方法来获取Callable对象产生的结果,并控制其状态。

作用:

(1)控制任务的状态,可以取消任务或者检查任务是否完成。

(2)使用get()方法来获取Callable对象中call()方法的返回结果。


4.Future接口常用方法

(1)isDone():检查任务是否完成。

(2)get():获取call()方法的返回值,若call()方法还未执行完毕,该方法会一直等待到call()方法执行完毕并返回结果。若该方法在等待结果时线程中断了,则抛出InterruptedException异常。若call()方法抛出异常。get()方法随之抛出ExecutionException()异常。

(3)get(long timeout,TimeUnit unit):如果调用这个方法时,call()方法未执行完毕。该方法等待timeout时间。

(4)cancel():若需要取消的任务已经完成或者不能被取消,那么该方法返回false,且任务取消失败。若需要取消的任务正在等待分配Thread执行,那么任务会被取消。若任务正在执行,cancel()方法的行为依赖于传递的参数,若传递true,那么任务会被取消。若传递false,那么任务会继续执行不会被取消。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值