Ответ 1
Аргумент sleep
- секунды, аргумент usleep
- микросекунды. Кроме этого, я думаю, что они идентичны.
sleep($n) == usleep($n * 1000000)
usleep(25000)
только спит в течение 0.025 секунд.
Может ли кто-нибудь объяснить мне, в чем разница между 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";
}
?>
Аргумент 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?
Еще одно отличие заключается в том, что спящий режим возвращается 0 при успехе, false при ошибке. usleep ничего не возвращает.
Просто
usleep
используетCPU Cycles
аsleep
- нет.
sleep
занимает seconds
качестве аргумента
в то время как usleep
принимает microseconds
качестве аргумента