如何限制pcntl_fork运行的进程?

时间:2019-07-07 22:07:25

标签: php multithreading pcntl

我正在尝试使用pcntl_fork进行多线程操作,将线程限制为maximum_threads值。

我已经尝试使用下面的代码,该代码可以工作,但是当达到值5时,线程将获得syncnus。我希望它们保持异步。

$pid = pcntl_fork();
if($pid === 0) {
      echo('Hello, I\'m the child!');
} elseif($pid) {
      echo('Created new child with pid '.$pid);
      if(++$running_threads > $max_threads)
      {
          pcntl_wait($status);
          $running_threads--;
      }
      echo($running_threads.' childs running.');
} elseif($pid === -1) {
       echo('Couldn\'t fork..');
       exit;
}

0 个答案:

没有答案