php多进程简单应用

<?php
/**
* author:   应杲臻<yinggaozhen@myhexin.com>
* create:   2016-01-20
* note:     测试专用
*/
class Ygz_Cron_Ao
{
    CONST REQTYPE = 1;

    public function __construct()
    {
    }

    private static $_crawlerWeb = array('Baidu', 'Google', 'Soso', 'Bing');

    private static $_timer = null;

    public static function main()
    {
        $ao = new self();
        self::$_timer = time();

        if (self::REQTYPE == 0) {
            foreach (self::$_crawlerWeb as $gtWeb) {
                switch ($pid = pcntl_fork()) {
                    case -1 :
                        die('failed');
                        break;
                    case 0 :
                        $func = '_funcFor' . $gtWeb;
                        $ao->$func();
                        exit;
                        break;
                    default :
                        //pcntl_waitpid($pid, $status);
                        break;
                }
            }   
        } else {
            foreach (self::$_crawlerWeb as $gtWeb) {
                $func = '_funcFor' . $gtWeb;
                $ao->$func();
            }
        }
    }

    private function _funcForBaidu()
    {
        sleep(2);
        echo "FuncBaidu Complete ! This Func Spend " . (time() - self::$_timer) . " s\n";
    }

    private function _funcForGoogle()
    {
        sleep(4);
        echo "FuncGoogle Complete ! This Func Spend " . (time() - self::$_timer) . " s\n";
    }

    private function _funcForSoso()
    {
        sleep(6);
        echo "FuncSoso Complete ! This Func Spend " . (time() - self::$_timer) . " s\n";
    }

    private function _funcForBing()
    {
        sleep(8);
        echo "FuncBing Complete ! This Func Spend " . (time() - self::$_timer) . " s\n";
    }
} 

最终结果

1、普通请求
FuncBaidu Complete ! This Func Spend 2 s
FuncGoogle Complete ! This Func Spend 6 s
FuncSoso Complete ! This Func Spend 12 s
FuncBing Complete ! This Func Spend 20 s

2、多进程请求
FuncBaidu Complete ! This Func Spend 2 s
FuncGoogle Complete ! This Func Spend 4 s
FuncSoso Complete ! This Func Spend 6 s
FuncBing Complete ! This Func Spend 8 s

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值