Heim >Backend-Entwicklung >PHP-Tutorial >Was ist asynchrones PHP?

Was ist asynchrones PHP?

Guanhui
Guanhuinach vorne
2020-06-18 17:58:293678Durchsuche

Was ist asynchrones PHP?

Der Unterschied zwischen synchroner und asynchroner Programmierung

Bevor wir die Vorteile von asynchronem PHP diskutieren, werfen wir einen kurzen Blick auf das synchrone Programmiermodell und Asynchrone Programmiermodelle. Synchroner Code wird sequentiell Zeile für Zeile ausgeführt. Sie müssen

die vorherige Mission abschließen, bevor Sie eine andere Mission starten können. Im asynchronen Code können mehrere Aufgaben gleichzeitig ausgeführt werden, was die Anwendungsleistung und das Benutzererlebnis erheblich verbessern kann.

Verwandte Kursempfehlungen: „Beginner to Mastery in PHP Programming

Was ist synchrones PHP?

Synchrones PHP bezieht sich auf PHP-Code, der mit dem synchronen Modell geschrieben wurde. PHP wurde ursprünglich zur Unterstützung der synchronen Entwicklung entwickelt, daher sind die meisten PHP-Entwickler daran gewöhnt, synchronen Code in dieser Sprache zu schreiben. Prefork mit Apaches mod_php oder php-fpm mit Apache oder Nginx.

Suchen Sie ein grundlegendes Tutorial zu PHP? Schauen Sie sich diesen Blog an: Grundlagen der PHP-Entwicklung: Was ist PHP, warum ist es so beliebt und was sind die Vorteile von PHP? .

Was ist asynchrones PHP?

Asynchrones PHP bezieht sich auf PHP-Code, der mit dem asynchronen Modell geschrieben wurde. Durch die Verwendung einer Erweiterung wie Swoole oder eines PHP-Frameworks wie ReactPHP können Sie PHP dazu bringen, Anfragen und Antworten mithilfe einer Ereignisschleife asynchron zu akzeptieren.

Was ist der Hauptunterschied zwischen synchroner und asynchroner PHP-Programmierung

In vielen Anwendungen verbringt die CPU während E/A-Aufgaben viel Zeit im Leerlauf. Die Idee von asynchronem PHP besteht darin, alle verfügbaren CPU-Zyklen vollständig zu nutzen, um andere Aufgaben auszuführen, indem nicht blockierende E/A-Aufgaben im Hintergrund ausgeführt werden und andere Aufgaben verarbeitet werden, während die CPU auf die Fertigstellung der erforderlichen Daten und Anweisungen wartet die E/A. Synchrones PHP, die CPU übernimmt nur I/O-Aufgaben. Nachdem die aktuelle Aufgabe abgeschlossen ist, fahren Sie mit der Verarbeitung der nächsten Aufgabe in der Warteschlange fort.

Verwenden Sie asynchrones PHP, um im Vergleich zu in synchronem PHP geschriebenen Anwendungen eine blitzschnelle Leistung zu erzielen. In einigen Benchmarks kann die Verwendung von Swoole zur Aktivierung von asynchronem PHP den Durchsatz im Vergleich zur Verwendung eines Prozessbeschleunigers wie php-fpm in synchronem Code um das Hundertfache steigern. Aus diesem Grund unterstützt php-fpm keine asynchrone Echtzeitkommunikation über Protokolle wie Websockets.

Welches PHP sollten Sie verwenden?

Wie bei den meisten Problemen im Zusammenhang mit Laufzeit, Webservern und allgemeiner Programmierung bestimmen unterschiedliche Anwendungsfälle, ob synchrones oder asynchrones PHP verwendet werden soll. Um asynchrones PHP verwenden zu können, muss Ihr Code es unterstützen. Die meisten Erweiterungen, die PHP-Entwickler gewohnt sind, verwenden Blockprozessaufrufe (auch als I/O-Blockierung bekannt), was das asynchrone Modell unerreichbar macht.

Um beispielsweise Swoole zu nutzen, muss es bei einem E/A-Anforderungsaufruf den Aufruf an den Hintergrund senden und dann mit der Ausführung der nächsten Anweisung fortfahren. Wenn der E/A-Aufruf Daten zurückgibt, muss Swoole die Kontrolle an den an den Hintergrund gesendeten E/A-Aufruf zurückgeben, damit er die Anforderungsdaten an den Prozess steuern kann. Das Umschreiben Ihres Codes zur Unterstützung asynchroner Prozesse erfordert möglicherweise einige Umgestaltungen, damit es funktioniert. Die Zeitersparnis könnte sich jedoch in Zukunft lohnen.

Starten Sie ein asynchrones PHP-Projekt

Da Sie Code auf eine Weise schreiben, die asynchrone Prozesse unterstützt, müssen Sie ein Projekt nutzen, das dies kann. Hier sind unsere drei wichtigsten Empfehlungen:

  • Swoole – Kollaboratives PHP-Framework für asynchrone Programmierung.

  • Reactphp – Ereignisgesteuerter, nicht blockierender I/O für PHP.

  • Amphp – PHP-Framework für nicht blockierende Parallelität.

Empfohlenes Tutorial: „Dieser Artikel stammt aus der PHP-Tutorial-Kolumne der chinesischen PHP-Website, willkommen zum Lernen!

Das obige ist der detaillierte Inhalt vonWas ist asynchrones PHP?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:learnku.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen