Разница между sleep () и usleep () в PHP
может ли любой орган объяснить мне, в чем разница между sleep()
и usleep()
в PHP.
Я направил использовать следующие сценарии, чтобы сделать приложение чата для длительного вытягивания, но в этом скрипте я получаю тот же эффект, используя usleep(25000);
и без usleep(25000);
Страница 1.в 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>
Страница 2.в 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 ответов
аргумент 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?