PHP – sleep() in Millisekunden [duplicate]

Lesezeit: 1 Minute

Bietet PHP eine Funktion zum Schlafen in Millisekunden?
Im Moment mache ich etwas Ähnliches als Workaround.

$ms = 10000;
$seconds = round($ms / 1000, 2);
sleep($seconds);

Ich würde gerne wissen, ob es eine allgemeinere Funktion gibt, die in PHP verfügbar ist, um dies zu tun, oder eine bessere Möglichkeit, dies zu handhaben.

  • Warum die Rundung? Nein, es gibt keine Überlastung, die Millisekunden dauert. Es ist einfach genug, einfach durch 1000 zu dividieren.

    – NPras

    2. November 2017 um 3:41 Uhr

  • time_nanosleep() und time_sleep_until() sind andere Schlaffunktionen, aber ich sehe sie nicht als brauchbare Alternativen.

    – Schnuckelig

    2. November 2017 um 3:52 Uhr

  • Sie können ein externes Programm mit system oder exec ausführen. Diese ermöglichen es Ihnen, den Schlafmodus von Linux (nicht sicher, was Windows entspricht) zu verwenden (falls geladen), der Dezimalstellen zulässt. Ich habe dies oft verwendet, um Anfragen an eine API zu verlangsamen, wo Sie mehr als 1 pro Sekunde wollen. system(‘sleep .1’);

    – DDS

    18. Dezember 2018 um 20:05 Uhr

Benutzer-Avatar
Schäbig

Dies ist Ihre einzige praktische Alternative: usleep – Ausführung in Mikrosekunden verzögern

Also für zwei Millisekunden schlafen:

usleep( 2 * 1000 );

Eine Viertelsekunde schlafen:

usleep( 250000 );

Beachten Sie, dass sleep() arbeitet mit ganzen Zahlen, sleep(0.25) ausführen würde als sleep(0) Das bedeutet, dass diese Funktion sofort beendet wird.

$i = 0;
while( $i < 5000 )
{
  sleep(0.25);
  echo '.';
  $i++;
}
echo 'done';

  • Ich denke, es gibt keine Funktion, die Millisekunden als Parameter akzeptiert?

    – Navaneeth Mohan

    2. November 2017 um 3:40 Uhr

  • Nein, in der Dokumentation steht nichts speziell für Millisekunden, usleep ist Ihre einzige Option für eine nicht vollständige zweite Granularität.

    – Schnuckelig

    2. November 2017 um 3:41 Uhr

1222220cookie-checkPHP – sleep() in Millisekunden [duplicate]

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy