Linux下实现PHP多进程的方法分享


Posted in PHP onAugust 16, 2012

PHP多进程:使用PHP的Process Control Functions(PCNTL/线程控制函数)
函数参考可见:http://www.php.net/manual/zh/ref.pcntl.php
只能用在Unix Like OS,Windows不可用。
编译php的时候,需要加上?enable-pcntl,且推荐仅仅在CLI模式运行,不要在WEB服务器环境运行。

以下为实现PHP多进程的简单测试代码:

<?php 
declare(ticks=1); 
$bWaitFlag = FALSE; /// 是否等待进程结束 
$intNum = 10; /// 进程总数 
$pids = array(); /// 进程PID数组 echo ("Start\n"); 
for($i = 0; $i < $intNum; $i++) { 
$pids[$i] = pcntl_fork();/// 产生子进程,而且从当前行之下开试运行代码,而且不继承父进程的数据信息 
if(!$pids[$i]) { 
// 子进程进程代码段_Start 
$str=""; 
sleep(5+$i); 
for ($j=0;$j<$i;$j++) {$str.="*";} 
echo "$i -> " . time() . " $str \n"; 
exit(); 
// 子进程进程代码段_End 
} 
} 
if ($bWaitFlag) 
{ 
for($i = 0; $i < $intNum; $i++) { 
pcntl_waitpid($pids[$i], $status, WUNTRACED); 
echo "wait $i -> " . time() . "\n"; 
} 
} 
echo ("End\n"); 
?>
PHP 相关文章推荐
使用无限生命期Session的方法
Oct 09 PHP
mysql_fetch_row,mysql_fetch_array,mysql_fetch_assoc的区别
Apr 24 PHP
php 静态变量与自定义常量的使用方法
Jan 26 PHP
PHP Zip解压 文件在线解压缩的函数代码
May 26 PHP
ThinkPHP 连接Oracle数据库的详细教程[全]
Jul 16 PHP
PHP实现CSV文件的导入和导出类
Mar 24 PHP
PHP使用pear自带的mail类库发邮件的方法
Jul 08 PHP
PHP+jQuery翻板抽奖功能实现
Oct 19 PHP
各种快递查询--Api接口
Apr 26 PHP
浅析php中array_map和array_walk的使用对比
Nov 20 PHP
PHP使用HTML5 FileApi实现Ajax上传文件功能示例
Jul 01 PHP
php引用和拷贝的区别知识点总结
Sep 23 PHP
PHP基础知识回顾
Aug 16 #PHP
php开发文档 会员收费1期
Aug 14 #PHP
php适配器模式介绍
Aug 14 #PHP
PHP缓存技术的多种方法小结
Aug 14 #PHP
PHP最常用的2种设计模式工厂模式和单例模式介绍
Aug 14 #PHP
php调用dll的实例操作动画与代码分享
Aug 14 #PHP
php中计算未知长度的字符串哪个字符出现的次数最多的代码
Aug 14 #PHP
You might like
PHP strtok()函数的优点分析
2010/03/02 PHP
php中批量替换文件名的实现代码
2011/07/20 PHP
使用 PHPMAILER 发送邮件实例应用
2012/11/07 PHP
详解PHP内置访问资源的超时时间 time_out file_get_contents read_file
2013/06/03 PHP
laravel实现按月或天或小时统计mysql数据的方法
2019/10/09 PHP
清华大学出版的事半功倍系列 javascript全部源代码
2007/05/04 Javascript
prototype Element学习笔记(篇一)
2008/10/26 Javascript
javascript跨域刷新实现代码
2011/01/01 Javascript
JavaScript中的单引号和双引号报错的解决方法
2014/09/01 Javascript
jquery获取radio值实例
2014/10/16 Javascript
jQuery中wrapInner()方法用法实例
2015/01/16 Javascript
jquery+CSS实现的多级竖向展开树形TRee菜单效果
2015/08/24 Javascript
JavaScript的React框架中的JSX语法学习入门教程
2016/03/05 Javascript
JavaScript String 对象常用方法总结
2016/04/28 Javascript
js中使用使用原型(prototype)定义方法的好处详解
2016/07/04 Javascript
js简单实现图片延迟加载的方法
2016/07/19 Javascript
webpack+vue.js实现组件化详解
2016/10/12 Javascript
nodejs搭建本地服务器并访问文件的方法
2017/03/03 NodeJs
vuejs响应用户事件(如点击事件)
2017/03/14 Javascript
jquery基于layui实现二级联动下拉选择(省份城市选择)
2017/06/20 jQuery
浅谈Vue 初始化性能优化
2017/08/31 Javascript
日期时间范围选择插件:daterangepicker使用总结(必看篇)
2017/09/14 Javascript
详解Vue.js Mixins 混入使用
2017/09/15 Javascript
原生JS实现多个小球碰撞反弹效果示例
2018/01/31 Javascript
微信小程序登录按钮遮罩浮层效果的实现方法
2018/12/16 Javascript
云服务器部署Node.js项目的方法步骤(小白系列)
2020/03/23 Javascript
Python的迭代器和生成器
2015/07/29 Python
你不知道的5个HTML5新功能
2016/06/28 HTML / CSS
Marks & Spencer爱尔兰:英国马莎百货
2016/04/20 全球购物
新西兰杂志订阅:isubscribe
2019/08/26 全球购物
中层干部竞聘演讲稿
2014/05/15 职场文书
共青团员自我评价范文
2014/09/14 职场文书
分居协议书范本
2014/11/03 职场文书
Java中PriorityQueue实现最小堆和最大堆的用法
2021/06/27 Java/Android
教你如何让spark sql写mysql的时候支持update操作
2022/02/15 MySQL
js前端面试常见浏览器缓存强缓存及协商缓存实例
2022/06/21 Javascript