Maison  >  Article  >  cadre php  >  Swoole peut-il gérer la concurrence ?

Swoole peut-il gérer la concurrence ?

(*-*)浩
(*-*)浩original
2019-12-07 10:22:462689parcourir

Swoole peut-il gérer la concurrence ?

Présentation de Swoole

swoole est une extension de PHP. (Apprentissage recommandé : Tutoriel vidéo SWOOLE )

Compréhension simple : Swoole = E/S asynchrones + communication réseau

PHPER peut réaliser les fonctions que PHP ne pouvait pas réaliser dans le passé basé sur SWOOLE.

Comment Swoole gère la concurrence élevée

①Introduction au modèle de réacteur

Le programme non bloquant asynchrone de multiplexage IO utilise le classique Le modèle Reactor, comme son nom l'indique, Reactor signifie réacteur. Il ne traite aucune donnée envoyée ni reçue. Il ne peut surveiller que les changements d'événement d'un handle de socket (peut également être un pipe, eventfd, signal).

Reactor n'est qu'un générateur d'événements. Les opérations réelles sur le handle du socket, telles que connecter/accepter, envoyer/recv et fermer, sont effectuées dans le rappel.

Architecture de ②swoole

swoole utilise un réacteur multithread + un travailleur multi-processus Parce que le réacteur est basé sur epoll, chaque réacteur peut gérer d'innombrables. connexions. De cette façon, swoole peut facilement gérer une concurrence élevée.

Éléments de la liste

Comment Swoole implémente les E/S asynchrones

L'un est un processus de travail ordinaire et l'autre est un processus de travail de tâche .

Le processus de travail est utilisé pour traiter les demandes ordinaires qui ne prennent pas trop de temps ; le processus de travail de tâche est utilisé pour traiter les demandes qui prennent beaucoup de temps, telles que les opérations d'E/S de base de données.

La différence entre Workerman et Swoole : l'extension swoole est écrite en langage C et n'est pas limitée par l'environnement, tandis que Workerman dépend de l'environnement Linux.

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
Article précédent:Swoole est-il open source ?Article suivant:Swoole est-il open source ?