Heim > php教程 > php手册 > 一个贪睡的sleeper

一个贪睡的sleeper

WBOY
Freigeben: 2016-06-06 20:14:22
Original
1064 Leute haben es durchsucht

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

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

<?php abstract class sleeper {

	protected $init_sleep_time;
	protected $sleep_time = 0;
	
	public function sleeper($init_sleep_time){
		$this->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; $ireal_sleep();
}

Nach dem Login kopieren
Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Empfehlungen
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage