注重
完成多历程须要开启的扩大:pcntl、 posix。 (引荐进修:PHP视频教程)
Windows 环境下不支撑 PHP 的多历程编程,本文主要在 Linux 环境下开辟测试
一张简朴结构图
主要功能
pcntl_fork:建立多历程,挪用后会返回两条历程的pid,0 为子历程,大于 0 为父历程(父历程获得子历程的 id,所以大于 0),-1为建立失利
$pid = $pcntlInstall ? pcntl_fork() : 0;if ($pid == -1) { //fork失利 } elseif ($pid > 0) { //父历程 ...... } elseif ($pid == 0) { //子历程 ...... }
pcntl_signal: 注册一个信号处置惩罚回调函数,能够捕捉子历程结束时发出的信号
/合营pcntl_signal运用 declare (ticks = 1); //当子历程退出时,会触发该函数,当前子历程数-1 pcntl_signal(SIGCHLD, function ($signo) { switch ($signo) { case SIGCHLD: echo $curChildPro . 'SIGCHLD', PHP_EOL; $curChildPro--; break; } });
pcntl_wait: 用来停息父历程,守候子历程退出
以上就是php是多历程的吗的细致内容,更多请关注ki4网别的相干文章!