Вопрос по usleep, php, sleep – Разница между сном () и usleep () в PHP

21

Может ли кто-нибудь объяснить мне, в чем разница междуsleep() а такжеusleep() в PHP.

Я дал указание использовать следующие сценарии, чтобы сделать приложение чата для длительного вытягивания, но в этом сценарии я получаю тот же эффект, используяusleep(25000); или безusleep(25000);

page1.php




var lpOnComplete = function(response) {
    console.log(response);
    // do more processing
    lpStart();
};

var lpStart = function() {
    $.post('page2.php', {}, lpOnComplete, 'json');
};

$(document).ready(lpStart);

page2.php

Функция sleep () принимает количество секунд в качестве параметра, а функция usleep () принимает значение в виде микросекунд - миллионных долей секунды. Ranjitsinh

Ваш Ответ

4   ответа
2

usleep() используется для отсрочки исполнения в "микросекунд» в то время какsleep() используется для задержки выполнения в секундах. Такusleep(25000) 0,025 секунды.

40

Аргумент кsleep секунды, аргументusleep это микросекунды. Кроме этого, я думаю, что ониидентичны.

sleep($n) == usleep($n * 1000000)

usleep(25000) только спит в течение 0,025 секунд.

@EllertvanKoperen Willn 't это зависит от того, предоставляет ли ОС встроенный способ выполнения секундных снов? Barmar
Еще одним важным отличием является то, что usleep использует циклы процессора, сна не делает. Ellert van Koperen
Если там'разница в производительности, этоЭто почти наверняка незначительно и не стоит обновлять ответ. Barmar
Это, и если вы используете какие-то большие куски или много маленьких кусочков сонного времени. Ellert van Koperen
0

Еще одно отличие состоит в том, что sleep возвращает 0 в случае успеха, false в случае ошибки. уснуть неничего не вернуть.

Вы можете просто упомянуть это в комментарии в принятом ответе meta
5

sleep() позволяет вашему коду спать в считанные секунды.

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

usleep() позволяет ваш код в микросекундах.

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

Похожие вопросы