Я работаю над сервером Java
, которому необходимо отправить несколько запросов HTTP get
на другой сервер и обработать ответы и завершить их. В настоящее время я использую synchronous
способ сделать это, как и в Java
:Как ускорить обработку нескольких HTTP-запросов
for(Request request: requestList){
Response response = client.send(request);
}
Это работает, но это занимает много времени, если размер по requestList
«s большой, так как он делает это последовательно: отправить запрос, подождите для ответа, а затем отправить дальше.
Мне интересно, есть ли способ ускорить это? Я думаю, если использование нескольких потоков для отправки нескольких запросов будет делать трюк? Или, может быть, нет, поскольку общее время отклика фиксируется для определенного количества запросов.
Любая идея или объяснение, почему или почему это не будет работать, будет полезно. Я использую Java
.
Несколько потоков будут делать трюк. Я сделал это раньше, и все получилось нормально. Тем не менее, это было как 4 запроса, больше, чем я действительно не знаю ... Сколько у вас элементов в цикле? –
Любые объяснения? Скажем, я отправляю 2 запроса, время ответа для одного запроса - 10 секунд. Тогда независимо от того, какую стратегию я использую, для получения ответа 2 всегда требуется 20 секунд, правильно? – byteBiter
Может быть размером 50. – byteBiter