Maison cadre php Swoole Comment créer un travailleur en swoole

Comment créer un travailleur en swoole

Jan 13, 2020 pm 01:30 PM
swoole

Comment créer un travailleur en swoole

swoole est un cadre de modèle multi-processus. Lorsqu'une application de processus swoole est démarrée, un total de 2+n+m processus seront créés, n est le nombre de processus de travail, et m est le processus TaskWorker Number, un processus maître et un processus gestionnaire, la relation est comme indiqué dans la figure ci-dessous

Comment créer un travailleur en swoole

Le processus maître est le processus principal, qui sera créer un processus Manager, un thread Reactor et d'autres processus/thread de travail.

Le processus Worker sert de processus de travail de Swoole, et tous les codes de logique métier s'exécutent sur ce processus. Lorsque le thread Reactor reçoit les données du client, il regroupe les données et les envoie à un processus Worker via un pipeline.

Les processus travailleur/tâche dans swoole sont tous bifurqués et gérés par le processus Manager.

Lorsque le processus enfant se termine, le processus gestionnaire est chargé de recycler le processus enfant pour éviter de devenir un processus zombie. Et créez un nouveau sous-processus

Lorsque le serveur est arrêté, le processus gestionnaire enverra des signaux à tous les sous-processus pour notifier aux sous-processus d'arrêter le service

Lorsque le le serveur est rechargé, le processus gestionnaire arrêtera/redémarrera les sous-processus un par un

fork() :

Un processus, comprenant le code, les données et les ressources allouées au processus. La fonction fork() crée un processus presque identique au processus d'origine via un appel système. Autrement dit, les deux processus peuvent faire exactement la même chose, mais si les paramètres initiaux ou les variables transmises sont différents, les deux processus. peut aussi faire différentes choses.
Après qu'un processus appelle la fonction fork(), le système alloue d'abord des ressources au nouveau processus, comme de l'espace pour stocker les données et le code. Copiez ensuite toutes les valeurs du processus d'origine dans le nouveau processus, à l'exception de quelques valeurs différentes des valeurs du processus d'origine. Cela équivaut à se cloner.

Apprentissage recommandé : tutoriel swoole

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Article chaud

Combien de temps faut-il pour battre Split Fiction?
3 Il y a quelques semaines By DDD
Repo: Comment relancer ses coéquipiers
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Comment obtenir des graines géantes
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
1 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌

Article chaud

Combien de temps faut-il pour battre Split Fiction?
3 Il y a quelques semaines By DDD
Repo: Comment relancer ses coéquipiers
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Comment obtenir des graines géantes
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
1 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌

Tags d'article chaud

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Lequel est le meilleur, Swoole ou Workerman ? Lequel est le meilleur, Swoole ou Workerman ? Apr 09, 2024 pm 07:00 PM

Lequel est le meilleur, Swoole ou Workerman ?

Comment utiliser Swoole pour implémenter un serveur proxy inverse HTTP hautes performances Comment utiliser Swoole pour implémenter un serveur proxy inverse HTTP hautes performances Nov 07, 2023 am 08:18 AM

Comment utiliser Swoole pour implémenter un serveur proxy inverse HTTP hautes performances

Comment utiliser la coroutine Swoole dans Laravel Comment utiliser la coroutine Swoole dans Laravel Apr 09, 2024 pm 06:48 PM

Comment utiliser la coroutine Swoole dans Laravel

Comment swoole_process permet-il aux utilisateurs de changer ? Comment swoole_process permet-il aux utilisateurs de changer ? Apr 09, 2024 pm 06:21 PM

Comment swoole_process permet-il aux utilisateurs de changer ?

Lequel a les meilleures performances, swoole ou java ? Lequel a les meilleures performances, swoole ou java ? Apr 09, 2024 pm 07:03 PM

Lequel a les meilleures performances, swoole ou java ?

Comment redémarrer le service dans le framework swoole Comment redémarrer le service dans le framework swoole Apr 09, 2024 pm 06:15 PM

Comment redémarrer le service dans le framework swoole

Swoole Advanced : Comment optimiser l'utilisation du processeur du serveur Swoole Advanced : Comment optimiser l'utilisation du processeur du serveur Nov 07, 2023 pm 12:27 PM

Swoole Advanced : Comment optimiser l'utilisation du processeur du serveur

Swoole en action : Comment utiliser les coroutines pour le traitement de tâches simultanées Swoole en action : Comment utiliser les coroutines pour le traitement de tâches simultanées Nov 07, 2023 pm 02:55 PM

Swoole en action : Comment utiliser les coroutines pour le traitement de tâches simultanées

See all articles