ホームページ >バックエンド開発 >PHPチュートリアル >PHP pcntl マルチプロセスの使用例_PHP チュートリアル
この記事は主にPHPのpcntlマルチプロセスの使用法を紹介しており、必要な友人は非常に参考になります。それ
この記事の例では、PHP の pcntl マルチプロセスの使用法について説明します。参考のためにみんなで共有してください。具体的な分析は次のとおりです:
PHP は、PCNTL 一連の関数を使用して、複数のプロセスでトランザクションを処理することもできます。例えば、データベースから80万件のデータを取得して、その後の一連の処理を行う必要があるのですが、このとき、単一のプロセスで処理すればよいのでしょうか。来年の今日まで待ってください。したがって、pcntl関数を使用する必要があります。
20 個のプロセスを開始し、1 ~ 80w のデータを 20 の部分に分割するとします。メイン プロセスは、すべての子プロセスが終了するまで待ってから終了します。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
|
$max = 800000; $労働者 = 20; $pids = array(); for($i = 0; $i $pids[$i] = pcntl_fork(); スイッチ ($pids[$i]) { ケース-1: echo "フォークエラー: {$i} rn"; 終了; ケース0: $param = 配列( 'lastid' => $max / $workers * $i, 'maxid' => $max / $workers * ($i+1), ); $this->executeWorker($input, $output, $param); 終了; デフォルト: 休憩; } } foreach ($pids as $i => $pid) { if($pid) { pcntl_waitpid($pid, $status); } }
|
$pids 配列を使用して、メインプロセスを終了する前にすべてのプロセスが完了するまで待機させます
この記事で説明した内容が皆様の PHP プログラミング設計に役立つことを願っています。