PHP单线程和多线程调用

Posted 小冷

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PHP单线程和多线程调用相关的知识,希望对你有一定的参考价值。

<?php
 //curl_multi_init()
 session_start();
 $url = ‘http://localhost.huawei.com:8060/ecommunity/index.php?app=admin&mod=DataMove&act=moveData_share‘;
 $ch = curl_init();
 curl_setopt ($ch, CURLOPT_URL, $url);
 curl_setopt($ch, CURLOPT_USERAGENT, ‘Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; .NET CLR 1.1.4322)‘);
 curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
 curl_setopt($ch, CURLOPT_TIMEOUT,43200);
 $dxycontent = curl_exec($ch);
 curl_close($ch);
 echo $dxycontent;
?>

 

<?php  $urlArray = array (  "http://localhost.huawei.com:8060/ecommunity/index.php?app=admin&mod=DataMove&act=moveData_bbs_post&start=100000&end=5000",  "http://localhost.huawei.com:8060/ecommunity/index.php?app=admin&mod=DataMove&act=moveData_bbs_post&start=105000&end=5000",  "http://localhost.huawei.com:8060/ecommunity/index.php?app=admin&mod=DataMove&act=moveData_bbs_post&start=110000&end=5000",  "http://localhost.huawei.com:8060/ecommunity/index.php?app=admin&mod=DataMove&act=moveData_bbs_post&start=115000&end=5000",  "http://localhost.huawei.com:8060/ecommunity/index.php?app=admin&mod=DataMove&act=moveData_bbs_post&start=120000&end=5000",  "http://localhost.huawei.com:8060/ecommunity/index.php?app=admin&mod=DataMove&act=moveData_bbs_post&start=125000&end=5000",  "http://localhost.huawei.com:8060/ecommunity/index.php?app=admin&mod=DataMove&act=moveData_bbs_post&start=130000&end=5000",  "http://localhost.huawei.com:8060/ecommunity/index.php?app=admin&mod=DataMove&act=moveData_bbs_post&start=140000&end=5000",  "http://localhost.huawei.com:8060/ecommunity/index.php?app=admin&mod=DataMove&act=moveData_bbs_post&start=145000&end=5000"  );  $mh = curl_multi_init();  $conn = Array();  foreach($urlArray AS $key => $url){   $conn[$key] = curl_init();   curl_setopt ($conn[$key], CURLOPT_URL, $url);   curl_setopt($conn[$key], CURLOPT_USERAGENT, ‘Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; .NET CLR 1.1.4322)‘);   curl_setopt ($conn[$key], CURLOPT_RETURNTRANSFER, 1);   curl_setopt($conn[$key], CURLOPT_TIMEOUT,43200);   curl_multi_add_handle($mh,$conn[$key]);  }    $running=null;  // 执行批处理句柄  do {   //usleep(10000);   curl_multi_exec($mh,$running);  } while ($running > 0 );    $results = Array();  foreach($conn as $ckey => $cvalue){      curl_close ($conn[$ckey]); //关闭语柄   $results[$ckey] = curl_multi_getcontent($conn[$ckey]);   curl_multi_remove_handle ( $mh, $conn[$ckey] ); //释放资源

 }  curl_multi_close($mh);  print_r( $results); ?>

 

bat调用

@echo off
 echo "begin..................................."
 d: \xampp\htdocs\trial
 php moveUser_1.php
 pause

以上是关于PHP单线程和多线程调用的主要内容,如果未能解决你的问题,请参考以下文章

单线程和多线程执行对比—Python多线程编程

进程和线程单线程多线程和多进程

JAVA单线程和多线程的实现方式

多线程和多进程模式有啥区别

5Java并发性和多线程-相同线程

多进程和多线程有啥区别?