Heim  >  Artikel  >  Backend-Entwicklung  >  Wie man PHP-Single-Threads versteht

Wie man PHP-Single-Threads versteht

(*-*)浩
(*-*)浩Original
2019-10-17 09:02:532620Durchsuche

Eines der Merkmale von Single-Thread-Prozessen ist die sequenzielle Ausführung. Wenn eine zeitaufwändige Aufgabe auftritt, muss sie warten, bis die vorherige Aufgabe abgeschlossen ist.

Wie man PHP-Single-Threads versteht

PHP ist ein typischer einzelner Thread. Wenn der vorherige nicht ausgeführt wird, kann der nächste nicht ausgeführt werden

🎜 seines Designs an seine Beliebtheitsbedürfnisse anzupassen. Auch dort, wo Multithreading erforderlich ist, gibt es entsprechende Lösungen und Alternativen. Multithreading ist nicht immer besser als Singlethreading. Multithreading kann zu anderen Problemen führen (z. B. kann es zu einem Deadlock kommen, wenn zwei Threads gleichzeitig dieselbe Methode in einer Klasse aufrufen).

Sie können verstehen, dass PHP, das eine Seitenanforderung eines Kunden verarbeitet, in einem einzelnen Thread verarbeitet wird, sodass Sie die Geschäftslogik im Code von oben bis unten bearbeiten/verstehen können, aber PHP kann viele Threads gleichzeitig geöffnet, um das gleiche von vielen Benutzern angeforderte PHP zu verarbeiten, sodass PHP auch als „multithreaded“ angesehen 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.

Das heißt, PHP ist für eine Anfrage Single-Threaded, mehrere Anfragen erfolgen jedoch gleichzeitig.

Tatsächlich wird das Schreiben von PHP-Programmen im Allgemeinen als Single-Threaded betrachtet. Die Beziehung zwischen mehreren Anforderungen besteht darin, dass manchmal das Lesen und Schreiben von Datenbanken, Dateien, Sitzungen usw. gesperrt wird, was dazu führt, dass nachfolgende Anforderungen hängen bleiben und auf den Abschluss der vorherigen Anforderung warten, bevor fortgefahren wird.

Was Coroutinen betrifft, kann man nur sagen, dass es sich um einen neuen Programmausführungsprozess handelt (der alte ist Sequenz, Beurteilung, Schleife)

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

Das obige ist der detaillierte Inhalt vonWie man PHP-Single-Threads versteht. 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