почему curl_multi_exec в двух циклах

Я видел кусок пример кода, мне интересно, зачем использовать два цикла do-while? в чем разница между двумя петлями? подождите ответ онлайн, спасибо ~~

do { $mrc = curl_multi_exec($mh, $active); } while ($mrc == CURLM_CALL_MULTI_PERFORM); while ($active && $mrc == CURLM_OK) { if (curl_multi_select($mh) != -1) { do { $mrc = curl_multi_exec($mh, $active); } while ($mrc == CURLM_CALL_MULTI_PERFORM); } } 

Как показано, первый цикл предназначен для инициализации HTTP-клиентов. Обычно он выполняется только один раз. Затем во втором цикле отправляются HTTP-запросы и получаются ответы.

Это не очень удобно, если вы хотите, чтобы ваш скрипт что-то делал, пока он ожидал обработки HTTP-запросов (вы могли бы поместить часть материала, который хотите сделать на отдельной странице, и называть это как ресурс завитки, но его немного беспорядочно).

См. Эту страницу для получения дополнительной информации и альтернативных конструкций.