php pcntl_fork和pcntl_fork 的用法

 更新时间:2009年04月13日 10:23:17   作者:  
这是两个php的多线程的方法,在Windows下不可用,在Linux下需要编译。
pcntl_fork()函数就是为当前的进程创建一个子进程。并且先运行父进程,返回的是子进程的PID,肯定大于零。在父进程的代码中可以用pcntl_fork(&$status)暂停父进程知道他的子进程有返回值。注意:父进程的阻塞同时会阻塞子进程。但是父进程的结束不影响子进程的运行。
父进程运行完了会接着运行子进程,这时子进程会从执行pcntl_fork()的那条语句开始执行(包括此函数),但是此时它返回的是零(代表这是一个子进程)。在子进程的代码块中最好有exit语句,即执行完子进程后立即就结束。否则它会又重头开始执行这个脚本的某些部分(一直没有总结出规矩)。
总之,注意两点:
1。子进程最好有一个exit;语句,防止不必要的出错;
2.
复制代码 代码如下:

$pid = pcntl_fork();
//这里最好不要有其他的语句
if ($pid == -1) {
die('could not fork');
} else if ($pid) {
// we are the parent
pcntl_wait($status); //Protect against Zombie children
} else {
// we are the child
}

相关文章

  • 解析argc argv在php中的应用

    解析argc argv在php中的应用

    本篇文章是对argc与argv在php中的应用进行了详细的分析介绍,需要的朋友参考下
    2013-06-06
  • php使用GD实现颜色渐变实例

    php使用GD实现颜色渐变实例

    这篇文章主要介绍了php使用GD实现颜色渐变的方法,实例分析了php中GD库的使用技巧,需要的朋友可以参考下
    2015-06-06
  • 简述php环境搭建与配置

    简述php环境搭建与配置

    本文主要对php的环境搭建与配置进行步骤介绍。文章中标出了重点,方便大家阅读,需要的朋友可以参考下
    2016-12-12
  • PHP获得数组交集与差集的方法

    PHP获得数组交集与差集的方法

    这篇文章主要介绍了PHP获得数组交集与差集的方法,实例分析了array_intersect与array_diff方法在求数组交集与差集时的使用技巧,需要的朋友可以参考下
    2015-06-06
  • php cli模式学习(PHP命令行模式)

    php cli模式学习(PHP命令行模式)

    之前知道php—cli模式是一种类似shell命令式的执行php程序,不过一直以为这个是一种落后的方式,应该没有什么意义,因为从没有遇到过使用这个cli模式编程的。不过今天遇到了使用cli模式的应用
    2013-06-06
  • PHP自带ZIP压缩、解压缩类ZipArchiv使用指南

    PHP自带ZIP压缩、解压缩类ZipArchiv使用指南

    这篇文章主要介绍了PHP自带ZIP压缩、解压缩类ZipArchiv使用指南,十分详细,需要的朋友可以参考下
    2015-03-03
  • PHP+Redis开发的书签案例实战详解

    PHP+Redis开发的书签案例实战详解

    这篇文章主要介绍了PHP+Redis开发的书签案例,结合实例形式详细分析了php结合redis开发书签功能的具体步骤及相关操作技巧,需要的朋友可以参考下
    2019-07-07
  • 『PHP』PHP截断函数mb_substr()使用介绍

    『PHP』PHP截断函数mb_substr()使用介绍

    截断文章标题,控制在15个文字,接下来为大家讲解下如何实现这个需求,感兴趣的朋友可以参考下哈
    2013-04-04
  • PHP实现SQL语句格式化功能的方法

    PHP实现SQL语句格式化功能的方法

    这篇文章主要介绍了PHP实现SQL语句格式化功能的方法,基于github上开源代码实现的SQL语句格式化功能,非常简单实用,需要的朋友可以参考下
    2017-07-07
  • PHP中的替代语法简介

    PHP中的替代语法简介

    这篇文章主要介绍了PHP中的替代语法简介,是PHP程序设计中并不常见却有重要作用的一个用法,需要的朋友可以参考下
    2014-08-08

最新评论