php命令下模式下实现多进程扩展包 Parallel
2020-03-07 本文已影响0人
骑蚂蚁上高速_jun
1 . 安装 Parallel 包
$ composer require kzykhys/parallel
# 该包只能在 cli 下运行,依赖 pcntl 扩展
简单案例:
require "./vendor/autoload.php";
use KzykHys\Parallel\Parallel;
$parallel = new Parallel();
$urls = [
"http://www.us764.com",
"https://www.github.com"
];
$start = time();
// 阻塞等待返回结果
$values = $parallel->map($urls, function ($url) {
file_get_contents($url);
return $url;
});
var_dump($values);
$diff = time()-$start;
echo "diff:{$diff}\n";
// 该包不能在 swoole 中运行, swoole中建议使用内置 Process, 性能更高,更好控制
// 经实测 比循环读取 两个链接的内容,时间缩短一半
守护进程运行复杂案例