Maison >développement back-end >Problème PHP >Le rôle du multi-threading et du multi-processus php

Le rôle du multi-threading et du multi-processus php

(*-*)浩
(*-*)浩original
2019-09-03 14:39:033966parcourir

Le rôle du multi-threading et du multi-processus php

Processus multiples (Apprentissage recommandé : Tutoriel vidéo PHP)

Utiliser le multi-processus, une fois le processus enfant terminé , le noyau Sera responsable du recyclage des ressources

En utilisant plusieurs processus, la sortie anormale du processus enfant ne provoquera pas la sortie de l'ensemble du processus Thread et le processus parent aura la possibilité de reconstruire le processus.

Un processus principal résident est uniquement responsable de la répartition des tâches, et la logique est plus claire

La méthode multi-processus est plus stable et le partage de données peut également être réalisé en utilisant la communication inter-processus. (CIP).

Mémoire partagée, cette méthode est la même que la lecture et l'écriture de variables entre les threads. Elle doit être verrouillée, et il y aura des problèmes de synchronisation et de blocage.

File d'attente des messages, vous pouvez utiliser plusieurs sous-processus pour récupérer le mode file d'attente, les performances sont très bonnes

Multi-threading

Les threads sont dans le même processus, les variables de mémoire peuvent être partagées pour réaliser une communication entre les threads

Les threads sont plus légers que les processus. L'ouverture d'un grand nombre de processus consommera plus de ressources système que les threads

Il y en a. aussi quelques problèmes avec le multi-threading :

Il y a un problème de synchronisation lorsque les threads lisent et écrivent des variables, et des verrous sont requis

Il y a des problèmes de performances si la granularité du verrouillage est trop grande, ce qui peut entraîne l'exécution d'un seul thread et d'autres threads attendent le verrou

L'utilisation de plusieurs verrous en même temps a une logique complexe. Une fois qu'un verrou n'est pas libéré correctement, un blocage de thread peut se produire

Une erreur fatale dans un fil de discussion entraînera le crash de l'ensemble du processus

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:Principe de routage PHPArticle suivant:Principe de routage PHP