解析PHP实现多进程并行执行脚本
生活随笔
收集整理的這篇文章主要介紹了
解析PHP实现多进程并行执行脚本
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
來源:http://www.jb51.net/article/38651.htm
由于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);
??????? }
}
總結
以上是生活随笔為你收集整理的解析PHP实现多进程并行执行脚本的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 吃馒头时为什么会变甜?
- 下一篇: php用array_merge实现无限级