PHP模擬多線程請求代碼示例

jopen 10年前發布 | 4K 次閱讀 PHP

下面是PHP模擬多線程請求代碼示例

    <?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(    
    'http://www.baiduhome.net',    
    'http://www.baidu.com',    
));   
?> 

</pre>

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!