我想一次运行 3 个不同的简单脚本,每个脚本都会抓取网站内容并返回一个字符串。哪种 pcntl、pthreads、后台 exec() 方法最合适?我最感兴趣的是低资源消耗。
一般很难
回答。
您要优化哪种资源?
无论如何,这里的第一个示例主要回答了您的问题:http://php.net/manual/en/function.pcntl-fork.php
<?php
for ($i = 1; $i <= 5; ++$i) {
$pid = pcntl_fork();
if (!$pid) {
sleep(1);
print "In child $i'n";
exit($i);
}
}
while (pcntl_waitpid(0, $status) != -1) {
$status = pcntl_wexitstatus($status);
echo "Child $status completed'n";
}
?>
因为我发现我的主机不提供扩展,所以执行方式是唯一可以去的。然而,pthreads 似乎是最有效的一种。