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";
}
?>
sleep
の引数は秒、usleep
の引数はマイクロ秒です。それ以外は同じだと思います。
_sleep($n) == usleep($n * 1000000)
_
usleep(25000)
は0.025秒間だけスリープします。
sleep()
を使用すると、コードを数秒でスリープさせることができます。
sleep(5); // sleeps for 5 seconds
usleep()
は、マイクロ秒に関するコードを許可します。
usleep(2500000); // sleeps for 2.5 seconds
usleep()
は「マイクロ秒」単位で実行を遅らせるために使用され、sleep()
は秒単位で実行を遅らせるために使用されます。したがって、usleep(25000)
は0.025秒です。
Is there any difference between the two?
もう1つの違いは、sleepは成功すると0を返し、エラーの場合はfalseを返します。 usleepは何も返しません。
単純に
usleep
はCPU Cycles
を使用しますが、sleep
は使用しません。
sleep
はseconds
を引数として取ります
一方、usleep
はmicroseconds
を引数として取ります