技术资料首页 >> 程序员专区 >> PHP专栏 >> PHP中的多线程与多进程

PHP中的多线程与多进程 (4)

2006-07-03 04:16:59作者: 来源:http://www.chinaunix.net/jh/27/661015.html 浏览次数:13 文字大小:【】【】【
p; //子进程列表有空闲,则填充补齐子进程列表
    if($exec_number > count($handle_list) &&
            $tasklist_pos < $tasklist_len)
    {

        for($i=$tasklist_pos; $i<$tasklist_len; )
        {
            $command = $tasklist[$i] ;
            $handle_list[] = popen($command , "r" );
            tolog("begin task \t ".$tasklist[$i]);
            $i++;
            if($exec_number == count($handle_list)) break;
        }
        $tasklist_pos = $i;
    }

    //如果子进程列表空,退出
    if(0 == count($handle_list))
    {
        break;
    }

    //检查子进程列表的输出,把停掉的子进程关闭并记录下来
    $end_handle_keys = array();
    foreach($handle_list as $key => $handle)
    {
        //$str = fgets($handle, 65536);
        $str = fread($handle, 65536);
        echo($str);

        if(feof($handle))
        {
            $end_handle_keys[] = $key;
            pclose($handle);
        }
    }

    //踢出停掉的子进程
    foreach($end_handle_keys as $key)
    {
        unset($handle_list[$key]);
        //var_dump($handle_list);
        //exit;
    }


}

tolog("\n\n*******************end**********************\n\n", "" ,  true);

?>



 peterdocter 回复于:2006-06-05 16:25:03

如果b.php中的用了require_once或require等再调用一个类
$test = new test();
这个类根本没有执行!
这样只是对当前页有效也就是说echo ,file之类!大家都不要把所有程序都用一页php来写完吧?



[1] [2] [3] [4]

相关文章