您的位置:首页 > 编程语言

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

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

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





客户端调用ivokeAny后返回五个线程当中第一个完成的结果,如果不希望返回第一个线程完成的结果,而是返回全部线程处理的结果,可以调用ivokeAll方法,记住调用ivokeAll方法返回参数是List<Future<T>>其中T是自定义的泛型参数。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  线程 ivokeAny Callbale