网站建设资讯

NEWS

网站建设资讯

php怎样实现多线程-创新互联

这篇文章主要为大家展示了“php怎样实现多线程 ”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“php怎样实现多线程 ”这篇文章吧

目前创新互联公司已为上千家的企业提供了网站建设、域名、网站空间绵阳服务器托管、企业网站设计、东宝网站维护等服务,公司将坚持客户导向、应用为本的策略,正道将秉承"和谐、参与、激情"的文化,与客户和合作伙伴齐心协力一起成长,共同发展。

public function testa() { 
       $id = $_REQUEST['id']; 
       for($i=0;$i<1000000;$i++){ 
            
       } 
       $time = time(); 
       $data['time'] = $time; 
       M('test')->add($data); 
   } 

   public function testb() { 
       $id = $_REQUEST['id']; 
       $time = time(); 
       $data['time'] = $time; 
       M('test')->add($data); 
   } 
php本生是不支持多线程的,如果想要上面2个方法执行的时间相同,我采用了curl,一下是curl并行这2个方法的代码 
本部分设定了隐藏,您已回复过了,以下是隐藏的内容 
//加载一个多进程CURL实例 
$mh = curl_multi_init(); 
$handles = array(); 
$array=array("localhost:1001/index.php/test/testa","localhost:1001/index.php/test/testb"); 
foreach($array as $k=>$v) 

// 创建一个单线程CURL实例 
$ch = curl_init(); 
// 设置CURL相关参数 
curl_setopt($ch, CURLOPT_URL, $v); 
curl_setopt($ch, CURLOPT_HEADER, 0); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); 
curl_setopt($ch, CURLOPT_TIMEOUT, 30); 
// 将该进程加载到实例中 
curl_multi_add_handle($mh,$ch); 
// 加入循环数组中 
$handles[] = $ch; 

// 执行CURL多线程实例 
$running=null; 
do 

curl_multi_exec($mh,$running); 
// 间隔0.25S 
//usleep (250000); 
} while ($running > 0); 
// 获取采集内容 
for($i=0;$i
curl_multi_remove_handle($mh,$handles[$i]); 

//关闭实例 
curl_multi_close($mh);

以上是“php怎样实现多线程 ”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注创新互联行业资讯频道!

另外有需要云服务器可以了解下创新互联cdcxhl.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


分享文章:php怎样实现多线程-创新互联
文章源于:http://cdweb.net/article/csdgsh.html