IT博客汇
  • 首页
  • 精华
  • 技术
  • 设计
  • 资讯
  • 扯淡
  • 权利声明
  • 登录 注册

    一个贪睡的sleeper

    istrone发表于 2015-01-03 04:54:13
    love 0

    php写的命令行服务,有时候在不需要执行的时候,需要尽可能的降低消耗资源,最简单的降低消耗就是sleep了。
    单次循环sleep间隔时间,有时候不满足需求,当前的sleeper采用了类似tcp的重传定时器,
    不过,这个东西越sleep越贪睡奥,需要适度控制。

    sleep_time = $init_sleep_time;	
    		$this->init_sleep_time = $init_sleep_time;
    	}
    
    	public function real_sleep(){
    		if($this->need_sleep()){
    			echo $this->sleep_time . "\n";
    			sleep($this->sleep_time);
    			$this->sleep_time += 3;
    		} else {
    			$this->sleep_time = $this->init_sleep_time;
    		}
    	}
    	
    	public abstract function need_sleep();
    
    }
    
    class test_sleeper extends sleeper {
    	
    	public function sleeper($init_sleep_time = 1){
    		$this->sleep_time = $init_sleep_time;	
    	}
    
    	public function need_sleep(){
    		return true;	
    	}
    
    }
    
    $sl = new test_sleeper(1);
    for($i = 0; $i< 10; $i++){
    	$sl->real_sleep();
    }
    
    
    Maybe you like these:
    一段求相对路径的PHP代码
    关于PHP扩展的几个函数
    PHP改变当前工作路径
    PHP经典代码
    PHP写的仿DDOS攻击程序
    无觅


沪ICP备19023445号-2号
友情链接