最近在做毕业设计用到php的异步,在看到了很多代码中用到了以下代码
<?php
$active = NULL;
do {
$ret = curl_multi_exec($multi, $active);
} while ($ret == CURLM_CALL_MULTI_PERFORM);
while ($active && $ret == CURLM_OK) {
if (curl_multi_select($multi) != -1) {
do {
$mrc = curl_multi_exec($multi, $active);
} while ($mrc == CURLM_CALL_MULTI_PERFORM);
}
}
?>
网上文章的大多数代码其实不难看懂,关键是这个代码看得完全懵,找来找去看了很多资料才略懂,但还是有不理解的地方。以下是我的理解:
在上面这段代码之前一般是一个循环申请多个并发链接,申请之后这段代码进行多个链接的并发执行,也就是对申请的多个链接进行访问,这段代码之后一般是对所执行的数据进行处理并关闭handle
然而对于以上代码片段为什么会比以下代码片段优越,这还一知半解,希望路过指点下,谢谢
参考文章:http://technosophos.com/2012/10/26/php-and-curlmultiexec.htmldo { $n=curl_multi_exec($mh,$active); } while ($active);
http://blog.csdn.net/le3600/article/details/8265271