Heim  >  Artikel  >  Backend-Entwicklung  >  Die Rolle von PHP-Multithreading und Multiprozess

Die Rolle von PHP-Multithreading und Multiprozess

(*-*)浩
(*-*)浩Original
2019-09-03 14:39:033912Durchsuche

Die Rolle von PHP-Multithreading und Multiprozess

Mehrere Prozesse (Empfohlenes Lernen: PHP-Video-Tutorial)

Mehrprozess verwenden, nachdem der untergeordnete Prozess beendet ist , Der Kernel ist für das Recycling von Ressourcen verantwortlich

Bei Verwendung mehrerer Prozesse führt das abnormale Beenden des untergeordneten Prozesses nicht dazu, dass der gesamte Thread des Prozesses beendet wird, und der übergeordnete Prozess hat die Möglichkeit, den Prozess neu zu erstellen.

Ein residenter Hauptprozess ist nur für die Aufgabenverteilung verantwortlich, und die Logik ist klarer

Die Multiprozessmethode ist stabiler und der Datenaustausch kann auch durch Kommunikation zwischen Prozessen erreicht werden (IPC).

Gemeinsamer Speicher, diese Methode ist dieselbe wie das Lesen und Schreiben von Variablen zwischen Threads. Sie muss gesperrt werden, und es treten Synchronisations- und Deadlock-Probleme auf.

Nachrichtenwarteschlange, Sie können mehrere Unterprozesse verwenden, um den Warteschlangenmodus zu nutzen, die Leistung ist sehr gut

Multithreading

Threads sind Im selben Prozess können Speichervariablen gemeinsam genutzt werden, um eine Kommunikation zwischen Threads zu erreichen

Threads sind leichter als Prozesse. Das Öffnen einer großen Anzahl von Prozessen verbraucht mehr Systemressourcen als Threads

Es gibt auch einige Probleme mit Multithreading:

Es gibt ein Synchronisierungsproblem, wenn Threads Variablen lesen und schreiben und Sperren erforderlich sind

Es gibt Leistungsprobleme, wenn die Sperrgranularität zu groß ist, was möglicherweise der Fall ist Dies führt dazu, dass nur ein Thread ausgeführt wird und andere Threads auf die Sperre warten

Die gleichzeitige Verwendung mehrerer Sperren hat eine komplexe Logik. Sobald eine Sperre nicht ordnungsgemäß aufgehoben wird, kann es zu einem Thread-Deadlock kommen

Ein schwerwiegender Fehler in einem Thread führt zum Absturz des gesamten Prozesses

Das obige ist der detaillierte Inhalt vonDie Rolle von PHP-Multithreading und Multiprozess. 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:PHP-Routing-PrinzipNächster Artikel:PHP-Routing-Prinzip