zoukankan      html  css  js  c++  java
  • PHP中使用多线程

    <?php  
    while(1)//循环采用3个进程
    {
        //declare(ticks=1);
        $bWaitFlag= FALSE; // 是否等待进程结束
        //$bWaitFlag = TRUE; // 是否等待进程结束
        $intNum= 5; // 进程总数
        $pids= array(); // 进程PID数组
        for($i= 0; $i<$intNum; $i++)
        {
    
            $pids[$i] = pcntl_fork();// 产生子进程,而且从当前行之下开试运行代码,而且不继承父进程的数据信息
            /*if($pids[$i])//父进程
            {
            //echo $pids[$i]."parent"."$i -> " . time(). "
    ";
            }
            */
             if($pids[$i] == -1)
             {
                echo"couldn't fork". "
    ";
             }
             elseif(!$pids[$i])
             {
                 sleep(1);
                 echo"
    "."第".$i."个进程 -> ". time(). " 
    ";
                 //$redis->hIncrBy('user_45610', 'badge', 1);
    
                //$url=" 抓取页面的例子
                //$content = file_get_contents($url);
                //file_put_contents('message.txt',$content);
                //echo "
    "."第".$i."个进程 -> " ."抓取页面".$i."-> " . time()."
    ";
                 exit(0);//子进程要exit否则会进行递归多进程,父进程不要exit否则终止多进程
             }
            if($bWaitFlag)
            {
                pcntl_waitpid($pids[$i], $status, WUNTRACED);
                echo"wait $i -> ". time() . "
    ";
            }        
        }
        sleep(1);
        echo memory_get_usage();
    }
    

      

  • 相关阅读:
    针对当前用户 对方法加锁
    二叉树
    return与析构续
    return与析构函数
    拷贝构造函数
    引用
    返回引用的函数值和参数的引用
    使用引用返回函数值
    邻接表--图 部分代码
    dec,hex and oct
  • 原文地址:https://www.cnblogs.com/adtuu/p/4723420.html
Copyright © 2011-2022 走看看