//多进程模式use Swoole\Process;$url = [ 'http://test1.com', 'http://test6.com', 'http://test5.com', 'http://test4.com', 'http://test3.com', 'http://test2.com'];$workers = [];for($i=0; $i<6; $i++){ $process = new Process(function($worker)use($i, $url){ //获取子进程实行的结果 $conn =getCurl($url[$i]); //将子进程实行的结果存入管道 $worker->write($conn); }, true);//true表明 不输出屏幕,写入管道,从管道中读取 $pid = $process->start();//启动成功,返回子进程id $workers[$pid] = $process;//从管道中读取进程实行的结果}function getCurl($url){ sleep(1); return strtoupper($url);}foreach($workers as $k=>$v)//$k 保存的是子进程id $v保存的是子进程{ //从管道中读取子进程实行的结果 echo $v->read()."\n";}
经由比拟创造:韶光相差6倍
把稳:开启进程会花费较多的系统资源,慎用
