PHP的pcntl多进程用法实例

 更新时间:2015年03月19日 15:11:27   作者:qdujunjie  
这篇文章主要介绍了PHP的pcntl多进程用法,实例分析了pcntl操作多进程的使用技巧,非常具有实用价值,需要的朋友可以参考下

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

PHP使用PCNTL系列的函数也能做到多进程处理一个事务。比如我需要从数据库中获取80w条的数据,再做一系列后续的处理,这个时候,用单进程?你可以等到明年今天了。所以应该使用pcntl函数了。

假设我想要启动20个进程,将1-80w的数据分成20份来做,主进程等待所有子进程都结束了才退出:

$max = 800000;
$workers = 20;
$pids = array();
for($i = 0; $i < $workers; $i++){
  $pids[$i] = pcntl_fork();
  switch ($pids[$i]) {
    case -1:
      echo "fork error : {$i} \r\n";
      exit;
    case 0:
      $param = array(
        'lastid' => $max / $workers * $i,
        'maxid' => $max / $workers * ($i+1),
      );
      $this->executeWorker($input, $output, $param);
      exit;
    default:
      break;
  }
}
foreach ($pids as $i => $pid) {
  if($pid) {
    pcntl_waitpid($pid, $status);
  }
}

这里当pcntl_fork出来以后,会返回一个pid值,这个pid在子进程中看是0,在父进程中看是子进程的pid(>0),如果pid为-1说明fork出错了。

使用一个$pids数组就可以让主进程等候所有进程完结之后再结束了

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

相关文章

  • php上传图片客户端和服务器端实现方法

    php上传图片客户端和服务器端实现方法

    这篇文章主要介绍了php上传图片客户端和服务器端实现方法,涉及php操作文件的技巧,涉及图片后缀验证、文件重命名等常用方法,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-03-03
  • PHP实现将视频转成MP4并获取视频预览图的方法

    PHP实现将视频转成MP4并获取视频预览图的方法

    这篇文章主要介绍了PHP实现将视频转成MP4并获取视频预览图的方法,涉及php操作视频文件的技巧,需要的朋友可以参考下
    2015-03-03
  • PHP采集相关教程之一 CURL函数库

    PHP采集相关教程之一 CURL函数库

    目前为目最全的CURL中文说明了,学PHP的要好好掌握。有很多的参数。大部份都很有用。真正掌握了它和正则,一定就是个采集高手了。
    2010-02-02
  • PHP解析配置文件的常用方法

    PHP解析配置文件的常用方法

    在PHP中解析配置文件有多种方法,具体取决于配置文件的格式,常见的配置文件格式包括INI文件、YAML文件、JSON文件以及PHP数组文件(即PHP文件本身包含配置数组),下面是一些常用的方法来解析这些配置文件,需要的朋友可以参考下
    2024-10-10
  • php 操作调试的方法

    php 操作调试的方法

    php 操作调试的方法,需要的朋友可以参考下
    2012-07-07
  • PHP面向对象程序设计之类常量用法实例

    PHP面向对象程序设计之类常量用法实例

    这篇文章主要介绍了PHP面向对象程序设计之类常量用法,是PHP面向对象程序设计中非常重要的一个概念,对于PHP初学者来说更是有必要加以牢固掌握,需要的朋友可以参考下
    2014-08-08
  • php输出金字塔的2种实现方法

    php输出金字塔的2种实现方法

    这篇文章主要介绍了php输出金字塔的2种实现方法,涉及循环语句的调用技巧,对于php的学习有一定的借鉴价值,需要的朋友可以参考下
    2014-12-12
  • PHP针对redis常用操作实例详解

    PHP针对redis常用操作实例详解

    这篇文章主要介绍了PHP针对redis常用操作,结合实例形式详细分析了PHP针对Redis连接、增删改查及各种常用运算操作技巧,需要的朋友可以参考下
    2019-08-08
  • PHP autoload机制案例详解

    PHP autoload机制案例详解

    这篇文章主要介绍了PHP autoload机制案例详解,本篇文章通过简要的案例,讲解了该项技术的了解与使用,以下就是详细内容,需要的朋友可以参考下
    2021-09-09
  • 10个php函数实用却不常见

    10个php函数实用却不常见

    函数是PHP如此强大的源泉,但是很多PHP函数并没有得到充分的利用。这里,我们给大家简单介绍10个不常见,但非常有用的函数。
    2015-10-10

最新评论