Как я могу ограничить процессы, запущенные с pcntl_fork? - PullRequest
0 голосов
/ 08 июля 2019

Я пытаюсь выполнить многопоточную операцию с pcntl_fork, ограничивая потоки значением Maximum_threads.

Я уже пробовал использовать приведенный ниже код, который работает, но когда он достигает значения 5, потоки синхронизируются. Я хочу, чтобы они были асинхронными.

$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;
}
...