Question

Can any body explain me what is the difference among sleep() and usleep() in PHP.

I have directed to use following scripts to do chat application for long pulling but in this script I am getting same effect using usleep(25000); or without 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"; 
}
?>
Was it helpful?

Solution

The argument to sleep is seconds, the argument to usleep is microseconds. Other than that, I think they're identical.

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

usleep(25000) only sleeps for 0.025 seconds.

OTHER TIPS

sleep() allows your code to sleep in seconds.

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

usleep() allows your code with respect to microseconds.

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

usleep() is used to delay execution in "microseconds" while sleep() is used to delay execution in seconds. So usleep(25000) is 0.025 seconds.

Is there any difference between the two?

One other difference is sleep returns 0 on success, false on error. usleep doesn't return anything.

Simply

usleep uses CPU Cycles while sleep does not.

sleep takes seconds as argument

while usleep takes microseconds as argument

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top