Heim > PHP-Framework > Swoole > Hauptteil

Kann Swoole mit Parallelität umgehen?

(*-*)浩
Freigeben: 2019-12-07 10:22:46
Original
2711 Leute haben es durchsucht

Kann Swoole mit Parallelität umgehen?

Swoole-Einführung

swoole ist eine Erweiterung von PHP. (Empfohlenes Lernen: SWOOLE-Video-Tutorial )

Einfaches Verständnis: Swoole = asynchrone E/A + Netzwerkkommunikation

PHPER kann die Funktionen erreichen, die PHP in der Vergangenheit nicht erreichen konnte basierend auf SWOOLE.

Wie swoole mit hoher Parallelität umgeht

①Reaktormodell-Einführung

IO-Multiplexing, asynchrones, nicht blockierendes Programm verwendet Klassiker Das Reactor-Modell bedeutet, wie der Name schon sagt, „Reaktor“. Es verarbeitet selbst keine Daten, die gesendet und empfangen werden. Es kann nur die Ereignisänderungen eines Socket-Handles (oder eines Pipe-, Eventfd-, Signal-Handles) überwachen.

Reactor ist nur ein Ereignisgenerator. Die eigentlichen Vorgänge am Socket-Handle, wie z. B. Verbinden/Akzeptieren, Senden/Empfangen und Schließen, werden im Rückruf abgeschlossen.

②swooles Architektur

swoole verwendet Multithread-Reaktor + Multiprozess-Worker. Da der Reaktor auf Epoll basiert, kann jeder Reaktor unzählige verarbeiten Verbindungen fragen. Auf diese Weise kann Swoole problemlos mit hoher Parallelität umgehen.

Elemente auflisten

Wie Swoole asynchrone E/A implementiert

Einer ist ein gewöhnlicher Worker-Prozess und der andere ist ein Task-Worker-Prozess .

Der Worker-Prozess wird zur Verarbeitung normaler Anforderungen verwendet, die nicht zu lange dauern. Der Task-Worker-Prozess wird zur Verarbeitung langfristiger Anforderungen wie Datenbank-E/A-Vorgänge verwendet.

Der Unterschied zwischen Workerman und Swoole: Die Swoole-Erweiterung ist in C-Sprache geschrieben und nicht durch die Umgebung eingeschränkt, während Workerman von der Linux-Umgebung abhängt.

Das obige ist der detaillierte Inhalt vonKann Swoole mit Parallelität umgehen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage