24

任何人都可以向我解释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"; 
}
?>
4

5 回答 5

43

to 的参数sleep是秒,to 的参数usleep是微秒。除此之外,我认为它们是相同的。

sleep($n) == usleep($n * 1000000)

usleep(25000)仅休眠 0.025 秒。

于 2013-10-24T05:30:37.047 回答
6

sleep()允许您的代码在几秒钟内休眠。

  • sleep(5); // sleeps for 5 seconds

usleep()允许您的代码以微秒为单位。

  • usleep(2500000); // sleeps for 2.5 seconds
于 2013-10-24T06:29:18.590 回答
2

usleep()用于以“微秒”延迟执行,而sleep()用于以秒为单位延迟执行。usleep(25000)0.025 秒也是如此。

Is there any difference between the two?
于 2013-10-24T05:37:07.553 回答
1

另一个区别是 sleep 在成功时返回 0,在错误时返回 false。usleep 不返回任何东西。

于 2017-09-18T10:35:19.410 回答
1

简单地

usleep使用CPU Cycleswhilesleep不使用。

sleepseconds作为论据

而作为usleep论据microseconds

于 2019-06-11T11:59:36.473 回答