优化分治解决方案:Fork/Join 框架的应用与比较
1. 并发搜索类(ConcurrentSearch)
ConcurrentSearch 类实现了 findAny() 和 findAll() 方法,其接口与串行版本相同。内部会初始化 TaskManager 对象和第一个任务,并使用 execute 方法将任务发送到默认的 ForkJoinPool ,等待任务完成并写入结果。
findAny() 方法代码如下:
public class ConcurrentSearch {
public static CensusData findAny (CensusData[] data,
List<FilterData> filters, int size) {
TaskManager manager=new TaskManager();
IndividualTask task=new IndividualTask(data, 0,
data.length, manager, size, filters);
ForkJoinPool.commonPool().execute(task);
try {
CensusData result=task.join();
if (result!
超级会员免费看
订阅专栏 解锁全文
59

被折叠的 条评论
为什么被折叠?



