• 技术文章 >php教程 >php手册

    一个贪睡的sleeper

    2016-06-06 20:14:22原创411

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

    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();
    }
    
    
    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    上一篇:PHP使用mysqlnd驱动 下一篇:PHP中的 抽象类和接口

    相关文章推荐

    • 一些常用的PHP数组函数• 回帖脱衣服的图片实现 by php...• 在WAS CE上运行PHP• PHP实现伪静态化页面的具体实现方式• getimagesize获取图片尺寸php函数

    全部评论我要评论

  • 取消发布评论发送
  • 1/1

    PHP中文网