web-dev-qa-db-ja.com

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"; 
}
?>
23
Salim

sleepの引数は秒、usleepの引数はマイクロ秒です。それ以外は同じだと思います。

_sleep($n) == usleep($n * 1000000)
_

usleep(25000)は0.025秒間だけスリープします。

43
Barmar

sleep()を使用すると、コードを数秒でスリープさせることができます。

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

usleep()は、マイクロ秒に関するコードを許可します。

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

usleep()は「マイクロ秒」単位で実行を遅らせるために使用され、sleep()は秒単位で実行を遅らせるために使用されます。したがって、usleep(25000)は0.025秒です。

Is there any difference between the two?
2
shahpranaf

もう1つの違いは、sleepは成功すると0を返し、エラーの場合はfalseを返します。 usleepは何も返しません。

1
qualia

単純に

usleepCPU Cyclesを使用しますが、sleepは使用しません。

sleepsecondsを引数として取ります

一方、usleepmicrosecondsを引数として取ります

1
Matee Gojra