An example of using sleep to run a set of functions at different intervals. This is not a replacement for multi-threading, but it could help someone that wants to do something cheap. You don't have to use eval(). It is just used as an example. This is different than running a standard 1 second sleep loop, due to sleeping longer does not consume as much CPU.
functionfunction_b() { echo'function_b called @ '.date('h:i:s') .PHP_EOL; }
functionfunction_c() { echo'function_c called @ '.date('h:i:s') .PHP_EOL; }// Add some timers (in seconds) with function calls$sleeptimers= array();$sleeptimers['5'][0]['func'] ='function_a();';$sleeptimers['10'][0]['func'] ='function_b();';$sleeptimers['15'][0]['func'] ='function_c();';// Process the timerswhile(true) {$currenttime=time();reset($sleeptimers);$mintime=key($sleeptimers);
foreach($sleeptimersas$SleepTime=>$Jobs) {
foreach($Jobsas$JobIndex=>$JobDetail) {
if(!isset($JobDetail['lastrun'])) {$sleeptimers[$SleepTime][$JobIndex]['lastrun'] =time();
if($SleepTime
} elseif(($currenttime-$JobDetail['lastrun']) >=$SleepTime) {
eval($JobDetail['func']);$lastrun=time();$sleeptimers[$SleepTime][$JobIndex]['lastrun'] =$lastrun;$mysleeptime=$SleepTime- ($currenttime-$lastrun);
if($mysleeptime<0)$mysleeptime=0;
if(($currenttime-$JobDetail['lastrun'])
}
}
}
echo'Sleeping for '.$mintime.' seconds'.PHP_EOL;sleep($mintime);
}?>
最后
以上就是大方宝马最近收集整理的关于php的sleep(3);,PHP: sleep - Manual的全部内容,更多相关php的sleep(3);,PHP:内容请搜索靠谱客的其他文章。
发表评论 取消回复