<?php
//管道是什么:管道是进程之间通讯的桥梁
//内层 函数中要使用外层变量 ,通过use 闭包 引入
echo "startTime".date('Ymd H:i:s');
$data = [
'http://baidu.com',
'http://sina.com.cn',
'http://qq.com',
'http://blog.csdn.net'
];
for($i=0;$i<count($data);$i++){
$process = new swoole_process(function()
use($i,$data){
$content = curlData($data[$i]);
echo $content.PHP_EOL;
},true);
$pid = $process->start();
$workers[$pid] = $process;
}
//输出管道内容
foreach ($workers as $key => $process) {
echo $process->read().PHP_EOL;
}
function curlData($url)
{
sleep(1);
return $url."success".PHP_EOL;
}
echo "endTime:".date('Ymd H:i:s');
正常 如果 是顺序执行的话需要4s,多进程处理,1s就可以处理 完成。