任何机构都可以解释一下PHP中sleep()
和usleep()
之间的区别。
我已经指示使用以下脚本进行长时间拉动的聊天应用程序但是在此脚本中我使用usleep(25000);
或没有usleep(25000);
page1.php中
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"
type="text/javascript"></script>
<script>
var lpOnComplete = function(response) {
console.log(response);
// do more processing
lpStart();
};
var lpStart = function() {
$.post('page2.php', {}, lpOnComplete, 'json');
};
$(document).ready(lpStart);
</script>
使page2.php
<?php
$time = time();
while((time() - $time) < 30) {
// query memcache, database, etc. for new data
$data = getLatest();
// if we have new data return it
if(!empty($data)) {
echo json_encode($data);
break;
}
usleep(25000);
}
function getLatest() {
sleep(2);
return "Test Data";
}
?>
答案 0 :(得分:40)
sleep
的参数是秒,usleep
的参数是微秒。除此之外,我认为它们是相同的。
sleep($n) == usleep($n * 1000000)
usleep(25000)
只能睡0.025秒。
答案 1 :(得分:5)
sleep()
允许您的代码在几秒钟内休眠。
sleep(5); // sleeps for 5 seconds
usleep()
允许你的代码相对于微秒。
usleep(2500000); // sleeps for 2.5 seconds
答案 2 :(得分:2)
usleep()
用于在“微秒”内延迟执行,而sleep()
用于在几秒内延迟执行。
所以usleep(25000)
是0.025秒。
Is there any difference between the two?
答案 3 :(得分:1)
简单
usleep
使用CPU Cycles
,而sleep
不使用。
sleep
以seconds
作为参数
usleep
以microseconds
作为参数
答案 4 :(得分:0)
另一个区别是成功时睡眠返回0,错误时返回false。 usleep不会返回任何内容。