PHP中的sleep()和usleep()之间的区别

时间:2013-10-24 05:26:22

标签: php sleep usleep

任何机构都可以解释一下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"; 
}
?>

5 个答案:

答案 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不使用。

sleepseconds作为参数

usleepmicroseconds作为参数

答案 4 :(得分:0)

另一个区别是成功时睡眠返回0,错误时返回false。 usleep不会返回任何内容。