【发布时间】:2020-06-03 04:43:51
【问题描述】:
我有 10 个健康检查 URL,它们只是获取服务 我正在像下面这样循环击中它们
for(int i=0;i<10;i++){
Response response = given().when().relaxedHttpsValidation().get(url[i]);
list.add(response);
}
return list;
现在的问题是它连续命中 API 并等待所有人的响应,我只想并行命中所有 API 但合并结果,我尝试使用线程但无法了解如何合并响应在多线程的情况下
【问题讨论】:
-
将每个电话都输入
CompletableFuture.supplyAsync,然后将整个电话输入CompletableFuture.allOf。或者,如果您想要提前终止行为,请使用CompletionService。 -
另外,不要使用宽松的 https 验证 - 这会禁用 https 并将整个 TLS 过程变成 CPU 周期的浪费。
-
您需要使用连接池将其称为异步,以防您调用相同的主机。这将提高性能。
标签: java multithreading rest-assured