Heim  >  Artikel  >  PHP-Framework  >  Verfügt Swoole Worker über eine Ereignisabfrage?

Verfügt Swoole Worker über eine Ereignisabfrage?

(*-*)浩
(*-*)浩Original
2019-12-16 09:28:082180Durchsuche

Verfügt Swoole Worker über eine Ereignisabfrage?

Swoole bietet einen vollständigen Prozessverwaltungsmechanismus, wenn der Worker-Prozess abnormal beendet wird, z. B. bei einem schwerwiegenden PHP-Fehler, wenn er versehentlich von anderen Programmen beendet wird oder wenn er nach Erreichen der max_request-Anzahl normal beendet wird mal. (Empfohlenes Lernen: SWOOLE-Video-Tutorial )

Der Hauptprozess erhält den neuen Worker-Prozess zurück. Code kann im Worker-Prozess wie gewöhnliches Apache+PHP oder PHP-FPM geschrieben werden.

swoole_server-Thread-Modus

Dies ist der Multithread-Worker-Modus, der die Abfrage von Netzwerkereignissen übernimmt und Daten liest. Die erhaltene Anfrage wird zur Verarbeitung an den Worker-Thread übergeben.

Swoole bietet konfigurierbare Parameter, um eine m/n-Parameteranpassung zu erreichen.

In diesem Modus kann onReceive moderate Blockierungsvorgänge durchführen. Der Multithread-Modus ist leichter als der Prozessmodus und Stapel und Ressourcen können von Threads gemeinsam genutzt werden.

Beim Zugriff auf den gemeinsam genutzten Speicher treten Synchronisierungsprobleme auf, und zum Schutz der Daten muss der von Swoole bereitgestellte Sperrmechanismus verwendet werden.

Derzeit sind insgesamt fünf Sperrimplementierungen vorgesehen: Mutex, Lese-/Schreibsperre, Dateisperre, Semaphor und Spin-Sperre.

Vorteile von Multithreading:

Objekte und Variablen werden gemeinsam genutzt und können direkt bedient werden

Dateideskriptoren werden gemeinsam genutzt und verschiedene Threads haben dieselbe Ressource kann direkt bedient werden

Nachteile von Multithreading:

Beim Betrieb nicht-lokaler Variablen sind Sperren erforderlich, was die Programmierung erschwert

ein A-Speicher Im Thread tritt ein Fehler auf und der gesamte Prozess wird beendet

Aufgrund eines Speicherfehlers in PHPs ZendVM im Multithread-Modus wurde der Multithread-Modus nach v1.6.0 deaktiviert

Das obige ist der detaillierte Inhalt vonVerfügt Swoole Worker über eine Ereignisabfrage?. 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

In Verbindung stehende Artikel

Mehr sehen