当前位置:Gxlcms > PHP教程 > php队列类消息队列thinkphp队列php队列处理高并

php队列类消息队列thinkphp队列php队列处理高并

时间:2021-07-01 10:21:17 帮助过:4人阅读

/** 
 * PHP Class for queue 
 * @author yangqijun@live.cn 
 * @copyright DataFrog Beijingbei  Ltd. 2011-07-25 
 */classQueue {public$length=12;          //默认队列,相当于初始化队列public$queue  = array();  //  if String like this "22,23,24"    convert to array to do queue  public$delimiter=',';  

    function__construct($queue=array())    {$this->queue=$queue;
    }  
    /** 
     * @desc start queue 
     * @param String  $param  new queue element 
     */publicfunctionrun($param)    {if(!is_array($this->queue)){  
            $this->strToQue();//将数组视为队列 
        }  
        $currentlength=$this->countqueue();        //Count  the  queue lengthecho$currentlength;
        echo$this->length.'
'
; if($currentlength<$this->length&&$this->length>0) { $this->queAdd($param); }elseif($this->length==0) //如果为空队列,则将队列初始化为输入的队列 { $param=empty($param)?0:$param; $this->queue[]=$param; } else { for ($i=0;$i<$currentlength-$this->length-1;$i++)//队列比规定的队列多,要删掉队首的元素,才能入队 { $this->queRemove(); } $this->queAdd($param); } return$this->queue; } /** * String like this "22,23,24" convert to array to do queue * @param String $string * @param String $delimiter */publicfunctionstrToQue(){if (empty($this->queue)) { $this->queue=array(); } else { $this->queue=explode($this->delimiter,$this->queue); } } /** * insert $node into queue * @param string $node */privatefunctionqueAdd($node){ array_push($this->queue,$node); $this->countqueue(); } privatefunctionqueRemove(){$node = array_shift($this->queue); $this->countqueue(); return$node; } privatefunctioncountqueue(){$currentlength= count($this->queue); return$currentlength; } function__destruct() {unset($this->queue); } } //example $str='88|89|90|56|23|45|69|23|20|100'; $obj=new Queue ($str); $obj->length=8; // 队列元素长度 $obj->delimiter='|'; //如果队列是字符串,则元素直接的分隔符为| $a=$obj->run('91'); //要添加到队列中的元素 $a=$obj->run('92'); $a=$obj->run('93'); $a=$obj->run('94'); print_r($a); ?>

').addClass('pre-numbering').hide(); $(this).addClass('has-numbering').parent().append($numbering); for (i = 1; i <= lines; i++) { $numbering.append($('
  • ').text(i)); }; $numbering.fadeIn(1700); }); });

    以上就介绍了php 队列类,包括了php,队列方面的内容,希望对PHP教程有兴趣的朋友有所帮助。

  • 人气教程排行