PHP如何实现模拟多线程进行网络请求的示例代码?
- 内容介绍
- 文章标签
- 相关推荐
本文共计115个文字,预计阅读时间需要1分钟。
下面是简化后的伪原创内容:
以下为PHP模拟多线程请求示例代码片段: $url) { $curl_array[$i]=curl_init($url); curl_setopt($curl_array[$i], CURLOPT_RETURNTRANSFER, true); }}?>
<?php multi_threads_request($nodes){ $mh = curl_multi_init(); $curl_array = array(); 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; } print_r(multi_threads_request(array( 'www.open-open.com', 'www.baidu.com', )); ?>
本文共计115个文字,预计阅读时间需要1分钟。
下面是简化后的伪原创内容:
以下为PHP模拟多线程请求示例代码片段: $url) { $curl_array[$i]=curl_init($url); curl_setopt($curl_array[$i], CURLOPT_RETURNTRANSFER, true); }}?>
<?php multi_threads_request($nodes){ $mh = curl_multi_init(); $curl_array = array(); 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; } print_r(multi_threads_request(array( 'www.open-open.com', 'www.baidu.com', )); ?>

