Подтвердить что ты не робот

Разница между sleep() и usleep() в PHP

Может ли кто-нибудь объяснить мне, в чем разница между sleep() и usleep() в PHP.

Я решил использовать следующие скрипты, чтобы сделать приложение чата для длительного вытягивания, но в этом script я получаю тот же эффект, используя 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"; 
}
?>
4b9b3361

Ответ 1

Аргумент sleep - секунды, аргумент usleep - микросекунды. Кроме этого, я думаю, что они идентичны.

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

usleep(25000) только спит в течение 0.025 секунд.

Ответ 2

sleep() позволяет вашему коду спать в секундах.

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

usleep() позволяет использовать ваш код в отношении микросекунд.

  • usleep(2500000); // sleeps for 2.5 seconds

Ответ 3

usleep() используется для задержки выполнения в "микросекундах", в то время как sleep() используется для задержки выполнения в секундах. Таким образом, usleep(25000) составляет 0,025 секунды.

Is there any difference between the two?

Ответ 4

Еще одно отличие заключается в том, что спящий режим возвращается 0 при успехе, false при ошибке. usleep ничего не возвращает.

Ответ 5

Просто

usleep использует CPU Cycles а sleep - нет.

sleep занимает seconds качестве аргумента

в то время как usleep принимает microseconds качестве аргумента