• 技术文章 >php教程 >php手册

    Linux下实现PHP多进程的函数如何写

    2016-06-06 20:41:16原创503

    PHP多进程:使用PHP的Process Control Functions(PCNTL/线程控制函数),需要的朋友可以参考下

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

    以下为实现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");
    ?>
    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    专题推荐:PHP多进程
    上一篇:php 操作数组(合并,拆分,追加,查找,删除等) 下一篇:PHP中extract()函数的定义和用法
    20期PHP线上班

    相关文章推荐

    • 【活动】充值PHP中文网VIP即送云服务器• PHP更新购物车数量(表单部分/PHP处理部分)• PHP5中Cookie与 Session使用详解• PHP之判断用户语言跳转网页• php图片缩放代码-按比例缩放或截取指定大小的缩略图 非常好用的一个方法• 谈PHP闭包特性在实际应用中的问题(1)
    1/1

    PHP中文网