PHP多线程请求示例代码

2022-10-11 21:17:18 127 0
魁首哥

PHP 并发请求 批量请求 Curl

下面代码对 多线程 并发请求,和单线程请求进行了对比,明显多线程快了不少。

foreach ($nodes as $i => $url)
{
$curl_array[$i] = curl_init($url);
curl_setopt($curl_array[$i], CURLOPT_RETURNTRANSFER, true);
curl_multi_add_handle($mh, $curl_array[$i]);
}
$running = NULL;
do {
usleep(10000);
curl_multi_exec($mh,$running);
} while($running > 0);
$res = array();
foreach($nodes as $i => $url)
{
$res[$url] = curl_multi_getcontent($curl_array[$i]);
}
foreach($nodes as $i => $url){
curl_multi_remove_handle($mh, $curl_array[$i]);
}
curl_multi_close($mh);
return $res;
}
function culrTest($arr){
forea ch ($arr as $url){
$ch = curl_init();
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$result = curl_exec($ch);
echo "
";
print_r($result);
}
}
$s = microtime(true);
$a = array(
'
'
'
'
'
'
);
print_r(muti_thread_request($a));//9.36s
culrTest($a);//27s
$e = microtime(true);
echo ($e - $s);
 

收藏
分享
海报
0 条评论
127
上一篇:「ThinkPHP5开发连载71」thinkphp5连载模板内置标签之条件标签一 下一篇:php编码规范有哪些?

本站已关闭游客评论,请登录或者注册后再评论吧~

忘记密码?

图形验证码