Maison >cadre php >Swoole >La tâche de Swoole est-elle un fil ou un processus ?

La tâche de Swoole est-elle un fil ou un processus ?

(*-*)浩
(*-*)浩original
2019-12-06 13:28:542358parcourir

La tâche de Swoole est-elle un fil ou un processus ?

Nous savons qu'il existe deux processus majeurs dans swoole, à savoir le processus maître et le processus de gestion des managers. (Apprentissage recommandé : tutoriel vidéo swoole )

Parmi eux, le processus principal principal aura un thread de réacteur principal et plusieurs threads de réacteur. La fonction principale est de maintenir les connexions TCP et de traiter les E/S du réseau. , envoyer et recevoir des données.

Le manager gère les processus et son rôle est de créer et de gérer les processus des travailleurs et des tâches.

La fonction du processus de travail est de recevoir les données transmises par le thread du réacteur, de traiter les données et de renvoyer les résultats du traitement au thread du réacteur.

Le rôle du processus de tâche est de gérer certaines tâches relativement fastidieuses. Le processus de tâche est indépendant du processus de travail et n'affectera pas le traitement des demandes des clients par le processus de travail.

1. Scénarios d'application du processus de tâche :

1. Envoi de masse relativement long, comme un certain événement, qui nécessite l'envoi d'e-mails d'événement à 1 million d'utilisateurs. .

2. Push les mises à jour de certains grands V. Par exemple, si un grand V publie un nouveau message, les fans doivent recevoir les mises à jour à temps.

2. La relation entre le travailleur et la tâche :

1 Le processus de travail peut exécuter des tâches en appelant task(), et le processus de tâche répond via l'événement onTask. Tâches soumises.

2. Dans le processus de tâche, vous pouvez indiquer au processus de travail que la tâche est terminée en retournant directement ou en appelant finish(). Dans le processus de travail, vous pouvez répondre à l'achèvement de la tâche via l'événement onFinish.

3. Conditions préalables à l'utilisation de la tâche :

1. Configurez le nombre de task_worker_num dans le serveur.

2. Définissez les fonctions de rappel d'événement onTask et onFinish du serveur.

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