Maison >développement back-end >tutoriel php >Avantages et inconvénients du multi-traitement et du multi-threading PHP

Avantages et inconvénients du multi-traitement et du multi-threading PHP

藏色散人
藏色散人avant
2019-12-05 13:29:162606parcourir

Avantages et inconvénients du multi-processus et du multi-thread PHP

Multi-processus

1. une fois le processus enfant terminé, le noyau sera responsable du recyclage des ressources

2 Lors de l'utilisation de plusieurs processus, la sortie anormale du processus enfant n'entraînera pas la fermeture de l'ensemble du processus Thread Le processus parent aura également. la possibilité de reconstruire le processus.

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

4. , et le partage de données peut également être réalisé à l'aide de la communication inter-processus (IPC).

5. 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.

6. 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

1. Les threads sont identiques Au sein du processus, les variables de mémoire peuvent être partagées pour établir une communication entre les threads

2 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.

3. Multi-threading Il y a aussi quelques problèmes :

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

5. problèmes de performances avec une granularité de verrouillage trop grande, ce qui peut entraîner l'exécution d'un seul thread, d'autres threads attendent le verrou

6 L'utilisation de plusieurs verrous en même temps a une logique compliquée. publié correctement, un blocage de thread peut se produire

7. Un certain thread Une erreur fatale entraînera le blocage de l'ensemble du processus

Pour plus de connaissances sur PHP, veuillez visiter le Tutoriel PHP. !

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:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer