慕课网高并发实战(八)- J.U.C组件拓展

Runable很简单,线程会执行其run方法 Callable有一个call方法,不同的是Callable是一个泛型接口,他支持传入一个泛型V,这个泛型V就是call方法的返回类型,也就是说,Callable支持线程执行结果的返回。

  • Future接口

Future对于具体的一个Callable或者Runable的任务,他可以进行取消,查询的任务是否被取消,是否完成,以及获取结果等等。 通常程序都是异步执行的,不可能从线程中直接得到返回值,这时候Fucture就出场了,Fucture可以监视目标线程调用call的情况,当你调用get方法的时候,就可以获得他的结果,这个时候如果线程没有立即完成,get方法就会阻塞直到call方法完成 总结一句话,Fucture可以得到方法的返回值。

  • FutureTask

FutureTask的父类是RunableFucutre,而RunableFucutre实现了Fucture和Runable两个接口。所以他既可以作为Runable被线程执行,也可以作为Fucture得到方法的返回结果。好处:假设有一个很费事的逻辑需要计算,但是又不是马上需要,就可以先使用FuctureTask,让一个线程先执行着,等需要的时候再来拿

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值