Maison > cadre php > Swoole > Comment utiliser l'événement swoole

Comment utiliser l'événement swoole

(*-*)浩
Libérer: 2019-12-06 10:31:40
original
2205 Les gens l'ont consulté

Comment utiliser l'événement swoole

SwooleServer est un modèle piloté par les événements, et tout le code de logique métier doit être écrit dans la fonction de rappel d'événement. Lorsqu'un événement réseau spécifique se produit, la couche inférieure rappelle activement la fonction PHP spécifiée. Au total, 13 types d'événements sont pris en charge. (Apprentissage recommandé : tutoriel vidéo swoole )

Séquence d'exécution des événements

Tous les rappels d'événements se produisent après $server->start

Le dernier événement à la fin du programme d'arrêt du serveur est onShutdown

Une fois le serveur démarré avec succès, onStart/onManagerStart/onWorkerStart sera exécuté simultanément dans différents processus

onReceive/onConnect/onClose Triggered dans le processus Worker

OnWorkerStart/onWorkerStop sera appelé une fois lorsque le processus Worker/Task démarre/se termine

L'événement onTask ne se produit que dans le processus de tâche

L'événement onFinish se produit uniquement dans le travailleur L'ordre d'exécution des 3 événements

onStart/onManagerStart/onWorkerStart se produit dans le processus est incertain

Mode coroutine

La version Swoole2/4 prend en charge les coroutines. Après avoir utilisé les coroutines, les fonctions de rappel d'événement seront exécutées simultanément. Coroutine est une implémentation de thread en mode utilisateur qui n'a aucune consommation de planification supplémentaire et occupe uniquement de la mémoire.

L'utilisation du mode coroutine peut être comprise comme "chaque fonction de rappel d'événement créera un nouveau thread pour l'exécution. Une fois la fonction de rappel d'événement exécutée, le thread se fermera."

Si vous souhaitez fermer la coroutine, vous pouvez définir :

$server->set(["enable_coroutine" => false, ]);
Copier après la connexion

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!

Étiquettes associées:
source:php.cn
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal