并行流处理海量数据集与并发数据结构
在处理海量数据集时,并行流和并发数据结构是非常重要的工具。下面将介绍如何使用并行流处理海量数据集,以及Java并发API提供的并发数据结构和同步机制。
并行流处理海量数据集
我们将使用一个社交网络中计算用户间共同联系人的示例来讲解并行流的使用。
并发版本
首先,我们分析该算法的并发版本。
- CommonPersonMapper类 :这是一个辅助类,用于从 Person
对象生成所有可能的 PersonPair
对象。它实现了 Function<Person, List<PersonPair>>
接口,并重写了 apply()
方法。以下是该类的代码:
public class CommonPersonMapper implements Function<Person, List<PersonPair>> {
@Override
public List<PersonPair> apply(Person person) {
List<PersonPair> ret = new ArrayList<>();
List<String> contacts = person.getContacts();
Collections.so