PHP多进程简单实例小结


Posted in PHP onNovember 09, 2019

本文实例讲述了PHP多进程。分享给大家供大家参考,具体如下:

PHP创建多进程需要使用到pcntl模块 在编译时加上--enable-pcntl打开进程控制支持,不是Unix类系统不支持此模块

php官网介绍http://php.net/manual/zh/book.pcntl.php,创建子进程需要使用到pcntl_fork(),文档上介绍该函数说 ,pcntl_fork — 在当前进程当前位置产生分支(子进程)。

译注:fork是创建了一个子进程,父进程和子进程 都从fork的位置开始向下继续执行,不同的是父进程执行过程中,得到的fork返回值为子进程号,而子进程得到的是0。失败时,在 父进程上下文返回-1,不会创建子进程,并且会引发一个PHP错误。

<?php
  $pid = pcntl_fork();
  var_dumP($pid);
?>

运行上面面代码,会返回两个值,一个是0和子进程的PID;

<?php
  $i=0;
  while($i!=5){
     $pid = pcntl_fork();
     echo "进程ID:".$pid."==".$i++.PHP_EOL;
  }   
?>

运行上面程序发现进程数指数增长 刚好是2^5=32个;原因是每一条都执行了while循环,到最后成了进程的指数增长——也就是说fork的时候把while循环也带了进去,父进程在执行fork的过程中;会得到子进程的进程号

而子进程会的得到是0;意味着0就是子进程标志;改正后代码是这样的

<?php
  $i=0;
  while($i!=5){
  $pid = pcntl_fork();
  echo "进程ID:".$pid."==".$i++.PHP_EOL;
  if ($pid == 0) {
  //code
  exit(0);
  }
  }
?>

希望本文所述对大家PHP程序设计有所帮助。

PHP 相关文章推荐
PHP MVC模式在网站架构中的实现分析
Mar 04 PHP
PHP内置过滤器FILTER使用实例
Jun 25 PHP
PHP打开和关闭文件操作函数总结
Nov 18 PHP
浅谈php正则表达式中的非贪婪模式匹配的使用
Nov 25 PHP
使用PHP实现下载CSS文件中的图片
Dec 06 PHP
Symfony2学习笔记之控制器用法详解
Mar 17 PHP
PHP+MySql+jQuery实现的&quot;顶&quot;和&quot;踩&quot;投票功能
May 21 PHP
解决安装WampServer时提示缺少msvcr110.dll文件的问题
Jul 09 PHP
php session_decode函数用法讲解
May 26 PHP
关于Laravel参数验证的一些疑与惑
Nov 19 PHP
laravel框架中间件简单使用方法示例
Jan 25 PHP
PHP常量及变量区别原理详解
Aug 14 PHP
PHPUnit + Laravel单元测试常用技能
Nov 06 #PHP
PHP用swoole+websocket和redis实现web一对一聊天
Nov 05 #PHP
基于thinkphp6.0的success、error实现方法
Nov 05 #PHP
php实现JWT(json web token)鉴权实例详解
Nov 05 #PHP
详解Laravel服务容器的绑定与解析
Nov 05 #PHP
php+laravel依赖注入知识点总结
Nov 04 #PHP
PHP保存Base64图片base64_decode的问题整理
Nov 04 #PHP
You might like
PHPLog php 程序调试追踪工具
2009/09/09 PHP
第4章 数据处理-php正则表达式-郑阿奇(续)
2011/07/04 PHP
json的键名为数字时的调用方式(示例代码)
2013/11/15 PHP
详解WordPress中添加友情链接的方法
2016/05/21 PHP
简单解析PHP程序的运行流程
2016/06/23 PHP
PHP模版引擎原理、定义与用法实例
2019/03/29 PHP
解决extjs在firefox中关闭窗口再打开后iframe中js函数访问不到的问题
2008/11/06 Javascript
js网页中的(运行代码)功能实现思路
2013/02/04 Javascript
textarea 控制输入字符字节数(示例代码)
2013/12/27 Javascript
text-align:justify实现文本两端对齐 兼容IE
2015/08/19 Javascript
jquery验证邮箱格式是否正确实例讲解
2015/11/16 Javascript
Bootstrap实现默认导航栏效果
2020/09/21 Javascript
基于jQuery实现选取月份插件附源码下载
2015/12/28 Javascript
JavaScript实现多栏目切换效果
2016/12/12 Javascript
微信小程序 wx.uploadFile在安卓手机上面the same task is working问题解决
2016/12/14 Javascript
javascript+css3开发打气球小游戏完整代码
2017/11/28 Javascript
搭建element-ui的Vue前端工程操作实例
2018/02/23 Javascript
vue2.0 + element UI 中 el-table 数据导出Excel的方法
2018/03/02 Javascript
解决mpvue + vuex 开发微信小程序vuex辅助函数mapState、mapGetters不可用问题
2018/08/03 Javascript
浅谈一个webpack构建速度优化误区
2019/06/24 Javascript
layer.open 子页面弹出层向父页面传输数据的例子
2019/09/26 Javascript
vue组件实现移动端九宫格转盘抽奖
2020/10/16 Javascript
详解Vue.js3.0 组件是如何渲染为DOM的
2020/11/10 Javascript
PyQt5内嵌浏览器注入JavaScript脚本实现自动化操作的代码实例
2019/02/13 Python
使用python实现抓取腾讯视频所有电影的爬虫
2019/04/15 Python
Python模块、包(Package)概念与用法分析
2019/05/31 Python
Django中使用haystack+whoosh实现搜索功能
2019/10/08 Python
flask框架配置mysql数据库操作详解
2019/11/29 Python
物业管理公司实习生自我鉴定
2013/09/19 职场文书
校友会欢迎辞
2014/01/13 职场文书
彩色的非洲教学反思
2014/02/18 职场文书
我爱我的祖国演讲稿
2014/05/04 职场文书
生活小常识广播稿
2014/09/16 职场文书
酒店服务员岗位职责
2015/02/09 职场文书
同意报考公务员证明
2015/06/17 职场文书
SpringBoot整合MongoDB的实现步骤
2021/06/23 MongoDB