当前位置 : 主页 > 网络编程 > PHP >

PHP模拟多线程请求代码示例

来源:互联网 收集:自由互联 发布时间:2021-07-03
下面是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_RETURNT
下面是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.open-open.com',    
        'http://www.baidu.com',    
    ));   
    ?> 
网友评论