这个问题与通过流并行执行多个查询有关,这表明 CompletableFuture
可以与流一起用于异步调用。然而,我想知道什么样的最佳实践将是当电话数量是未知的?
以下面的代码为例。输入未知大小的地址列表。我们的目标是使用restapi调用来查找居住在这些地址的所有人。需要注意的是,只有在成功处理了所有调用后才应返回列表。
List<AddressId> addressIdList = getAllAddressId();
List<People> people = new ArrayList<>();
for (AddressId addressId : addressIdList) {
MultiValueMap<String, AddressId> uriParameter = new LinkedMultiValueMap<>();
uriParameter.add("addressId", addressId);
// Using RestTemplate
List<People> list = lookUpUsingRestAPI(uriParameter);
people.addAll(list);
}
return people;
直觉上,这段代码有异味。由于我对java流/并发编程不是很精通,所以我不想看到这段代码的缺陷,因此欢迎提出任何建议。
暂无答案!
目前还没有任何答案,快来回答吧!