ホームページ  >  記事  >  バックエンド開発  >  PHPはスクリプトコードのマルチプロセス並列実行を実装します

PHPはスクリプトコードのマルチプロセス並列実行を実装します

WBOY
WBOYオリジナル
2016-06-20 13:01:06944ブラウズ

PHP はスクリプト コードのマルチプロセス並列実行を実装します

PHP プロセスはマルチスレッドをサポートしていないため、シナリオによっては、パフォーマンスを向上させて促進するために、PHP を使用して複数のプロセスを実装し、この欠点を補うことができます。

#!/usr/bin/env php
<?php
$cmds=array(
        array('/apps/bin/launcher.php','charge/promotion_props_stat.php','mobile',1),
        array('/apps/bin/launcher.php','charge/promotion_props_stat.php','mobile',2),
        array('/apps/bin/launcher.php','charge/promotion_props_stat.php','click',1),
        array('/apps/bin/launcher.php','charge/promotion_props_stat.php','click',2),
        array('/apps/bin/launcher.php','charge/promotion_props_stat.php',1),
        array('/apps/bin/launcher.php','charge/promotion_props_stat.php',2)
);
foreach($cmds as $cmd){
        $pid=pcntl_fork();
        if($pid==-1){ //进程创建失败
                die('fork child process failure!');
        }
        else if($pid){ //父进程处理逻辑
                pcntl_wait($status,WNOHANG);
        }
        else{ //子进程处理逻辑
                pcntl_exec('/usr/local/bin/php',$cmd);
        }
}


声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。