并发编程--运行多个任务并处理第一个结果

并发编程中比较常见的一个问题是,当采用多个并发任务来解决一个问题时,往往只关心这些任务中的第一个结果。比如,对一个数组进行排序有很多种算法,可以并发启动所有算法,但是对于一个给定的数组,第一个得到排序结果的算法就是最快的排序算法。

通过调用执行器的ivokeAny方法,返回的结果是第一个完成的线程,当第一个线程完成后,其他线程全部中断,下面通过一个例子来看看执行器的ivokeAny方法


客户端调用ivokeAny后返回五个线程当中第一个完成的结果,如果不希望返回第一个线程完成的结果,而是返回全部线程处理的结果,可以调用ivokeAll方法,记住调用ivokeAll方法返回参数是List<Future<T>>其中T是自定义的泛型参数。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值