Может ли любое тело объяснить мне, в чем разница между sleep()
и usleep()
в PHP.
Я решил использовать следующие скрипты, чтобы сделать чат-приложение для длительного вытягивания, но в этом скрипте я получаю тот же эффект, используя 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
является секунда, аргумент « sleep
– это микросекунды. Кроме этого, я думаю, что они идентичны.
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 при успехе, ложный при ошибке. Улыбка ничего не возвращает.