Heim >Backend-Entwicklung >PHP-Problem >Ist PHP Single-Threaded oder Multi-Threaded?

Ist PHP Single-Threaded oder Multi-Threaded?

(*-*)浩
(*-*)浩Original
2019-09-27 09:30:054744Durchsuche

Von den Anfängen des PHP-Designs bis zu seiner Popularität gab es keine offensichtliche Notwendigkeit, Multithreading zu verwenden, um das Problem zu lösen.

Ist PHP Single-Threaded oder Multi-Threaded?

An manchen Stellen, an denen Multithreading benötigt wird, gibt es auch entsprechende Lösungen und Alternativen. (Empfohlenes Lernen: PHP-Programmierung vom Einstieg bis zur Kompetenz)

Multi-Threading ist nicht immer besser als Single-Threading kann zu anderen Problemen führen (zum Beispiel: zwei Threads rufen einen auf). gleichzeitig) Bei Verwendung derselben Methode in einer Klasse kann es zu einem Deadlock kommen.

Sie können verstehen, dass das PHP, das einer Seitenanforderung eines Kunden entspricht, in einem einzelnen Thread verarbeitet wird, sodass Sie die Geschäftslogik im Code von oben bis unten bearbeiten/verstehen können. PHP kann viele Threads gleichzeitig öffnen, um die gleichen PHP-Anforderungen vieler Benutzer zu verarbeiten, sodass PHP auch als „multithreaded“ betrachtet werden kann.

Die Ausführung jeder PHP-Datei erfolgt Single-Threaded, der Server (Apache/Nigix/php-fpm) ist jedoch Multi-Threaded. Jedes Mal, wenn der Server auf eine bestimmte PHP-Datei zugreift, wird ein neuer Prozess/Thread erstellt, um die entsprechende PHP-Datei auszuführen.

Mit anderen Worten PHP ist Single-Threaded für eine Anfrage, aber mehrere Anfragen erfolgen gleichzeitig.

Tatsächlich wird das Schreiben von PHP-Programmen im Allgemeinen als Single-Threaded betrachtet. Die Beziehung zwischen mehreren Anforderungen besteht manchmal darin, dass Datenbanken, Dateien, Sitzungen usw. gelesen und geschrieben werden führt dazu, dass nachfolgende Anfragen hängen bleiben, bis die vorherige Anfrage abgeschlossen ist, bevor fortgefahren wird.

Was die Coroutine betrifft, kann man nur sagen, dass es sich um einen neuen Programmausführungsprozess handelt (der alte ist Sequenz, Beurteilung, Schleife), der im Wesentlichen Single-Threaded ist

PHP ist also, um genau zu sein, Single-Threaded und kann bis zu einem gewissen Grad auch als „Multi-Threaded“ angesehen werden! ! !

Das obige ist der detaillierte Inhalt vonIst PHP Single-Threaded oder Multi-Threaded?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Vorheriger Artikel:Ob PHP GD aktiviertNächster Artikel:Ob PHP GD aktiviert