1. 并行搜索
并行的无序数组的搜索实现.
给定一个数组,我们要查找满足条件的元素.
2. 思考
对于串行程序来说,只要遍历一下数组就可以得到结果.但是如果要使用并行方式,则需要额外增加一些线程间的通信机制,使各个线程可以有效运行.
一种简单的策略就是将原始数据集合按照期望的线程数进行分割.如果我们计划使用两个线程进行搜索,那么就可以把一个数组或集合分割成两个.每个线程各自独立搜索,当其中有一个线程找到数据后,立即返回结果即可.
3. 示例
SearchTask
1 | import java.util.concurrent.Callable; |
Main
1 | import java.util.ArrayList; |
4. 参考文献
<< Java高并发程序设计 >>(葛一鸣 郭超)