Maison  >  Article  >  cadre php  >  Quels fils a swoole ?

Quels fils a swoole ?

尚
original
2019-12-30 09:54:101749parcourir

Quels fils a swoole ?

Threads in swoole :

1. MainReactor (thread principal)

Le thread principal sera chargé de surveiller le socket du serveur. Si une nouvelle connexion est acceptée, le thread principal évaluera le nombre de connexions pour chaque thread Reactor. Attribuez cette connexion au thread du réacteur avec le plus petit nombre de connexions pour effectuer l’équilibrage de charge.

2. Groupe de threads Reactor

Le thread Reactor est responsable du maintien de la connexion TCP de la machine client, du traitement des E/S du réseau et de l'envoi et de la réception des données de manière complètement mode asynchrone et non bloquant.

Après avoir accepté une nouvelle connexion, le thread principal de swoole attribuera la connexion à un thread Reactor fixe, lira les données lorsque le socket est lisible, effectuera une analyse de protocole et transmettra la requête au processus Worker. Envoie des données au client TCP lorsque le socket est accessible en écriture.

3. Fil de détection des paquets de battements de cœur (HeartbeatCheck)

Une fois que Swoole a configuré la détection des battements de cœur, le fil de détection des paquets de battements de cœur vérifiera toutes les connexions précédemment en ligne dans un délai fixe

Envoyer des paquets de détection

4. Fil de réception des paquets UDP (UdpRecv)

Recevoir et traiter les paquets UDP client

swoole Pour obtenir le meilleur performances, plusieurs processus de travail doivent être créés pour aider à traiter les tâches, mais le processus de travail doit être fork. Cependant, l'opération fork n'est pas sûre s'il n'y a pas de gestion, de nombreux processus zombies apparaîtront, ce qui affectera en même temps les performances du serveur. À ce moment-là, le processus de travail est accidentellement interrompu ou se termine anormalement pour des raisons liées au programme. Afin de garantir la stabilité du service, le processus de travail doit être recréé.

Apprentissage recommandé : tutoriel vidéo 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:
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