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
}

相关文章

  • php实现简单路由实现伪静态

    php实现简单路由实现伪静态

    这篇文章主要为大家详细介绍了php如何实现简单路由实现伪静态,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下
    2024-04-04
  • php获取英文姓名首字母的方法

    php获取英文姓名首字母的方法

    这篇文章主要介绍了php获取英文姓名首字母的方法,涉及php中explode及strtoupper函数操作php字符串分割及大小写转换的相关技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-07-07
  • php判断IP地址是否在多个IP段内

    php判断IP地址是否在多个IP段内

    这篇文章主要为大家详细介绍了php判断IP地址是否在多个IP段内,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-08-08
  • php命令行(cli)下执行PHP脚本文件的相对路径的问题解决方法

    php命令行(cli)下执行PHP脚本文件的相对路径的问题解决方法

    这篇文章主要介绍了php命令行(cli)下执行PHP脚本文件的相对路径的问题解决方法,特别是在crontab中运行PHP脚本时,肯定会遇到路径问题,参照本文方法即可解决,需要的朋友可以参考下
    2015-05-05
  • PHP源码之explode使用说明

    PHP源码之explode使用说明

    最近一直在想有关字符串操作的一些效率上的事情,截取字串的问题,都会避免不了重新分配空间的消耗,也顺带看了explode这个函数的源码,理解下,拿出自己的分析共享下
    2011-08-08
  • php实现图片上传并进行替换操作

    php实现图片上传并进行替换操作

    这篇文章主要为大家详细介绍了php实现图片上传并进行替换操作,讲解的很详细,通俗易懂,感兴趣的小伙伴们可以参考一下
    2016-03-03
  • PHP实现的sqlite数据库连接类

    PHP实现的sqlite数据库连接类

    这篇文章主要介绍了PHP实现的sqlite数据库连接类,涉及针对SQLite数据库的连接与增删改查等sql操作用法,非常具有实用价值,需要的朋友可以参考下
    2014-12-12
  • PHP中断言函数的使用详解

    PHP中断言函数的使用详解

    这篇文章主要介绍了PHP中断言函数的使用详解,帮助大家更好的理解和学习使用PHP,感兴趣的朋友可以了解下
    2021-04-04
  • php防盗链的常用方法小结

    php防盗链的常用方法小结

    php防盗链的方法,大家可以参考下。
    2010-07-07
  • php中mkdir函数用法实例分析

    php中mkdir函数用法实例分析

    这篇文章主要介绍了php中mkdir函数用法,以实例形式分析了mkdir函数针对目录操作的方法,具有一定的参考借鉴价值,需要的朋友可以参考下
    2014-11-11

最新评论