У меня вопрос:
У меня есть точка отдыха, которая дает мне результат 1000 на страницу каждый раз, когда мне нужно увеличить страницу и сделать новый вызов отдыха с увеличенным номером страницы; pagenum будет 0,1,2, до всей страницы. Я сделал вызов asyn c, используя завершаемое будущее, передав pagenum.
Итак, предположим, что общая страница равна 5, поэтому 5 потоков будут go и получат результат, тогда я должен получить результат и объединить все результат.
для этого я использую --respon = resp.get (); но я прочитал его блокирующий вызов ..
, поэтому мой вопрос в том, как получить результаты асинхронно и объединить их. в приведенном ниже коде я делаю future .get () перестанет ли он запускать код асинхронно.
Прокомментируйте, пожалуйста, !!!!!!!!
for (int pagenum = 1; pagenum <=totalPage; pagenum++) {
String respon= CompletableFuture.supplyAsync(() -> {
return new RestTemplate().exchange(getUsersByID(roleId, maxCount,
pagenum), HttpMethod.GET,
entity, String.class).getBody();
});
try {
respon = resp.get();
} catch (InterruptedException | ExecutionException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}