我有用PHP编写的自定义构建系统。它类似于 make 工具,收集带有依赖项的源文件来编译和链接它们。
它使用系统功能来运行G ++,如下所示:
system("g++ -c $file -o $out");
它运作良好。但是我有一个多核处理器,我想使用这些额外的核心来加速这个过程(比如 make -j 8 )。我怎么能在PHP中做到这一点?我本身不需要PHP中的多线程,我只需要生成一些子进程并等待它们完成。
答案 0 :(得分:0)
由于这通常是PHPs CLI版本的内置版本,因此您可以使用pcntl_fork()
。它将当前的PHP进程复制到子进程中,然后可以与父进程分开工作。
请参阅手册页上的示例。
(您也可以利用PEAR System_Daemon封装该功能;虽然它对您的情况有点太多了。)