La différence entre multi-threading et multi-processus en python

清浅
Libérer: 2019-04-08 11:20:27
original
5528 Les gens l'ont consulté

Les différences entre multi-processus et multi-threading en Python sont : les threads doivent être exécutés dans le processus, un processus peut contenir plusieurs threads ; les processus peuvent partager le même espace d'adressage et les processus partagent des adresses physiques, la création de threads est simple. , et les processus doivent traiter le clonage, etc.

Aujourd'hui, je partagerai les connaissances et les différences entre le multi-processus et le multi-threading en Python. Ensuite, je le présenterai en détail dans l'article, qui en a certains. valeur de référence. J'espère que cela sera utile à tout le monde

La différence entre multi-threading et multi-processus en python

[Cours recommandés : Tutoriel Python ]

Concept de thread :

Le thread est la plus petite unité de planification des opérations dans le système d'exploitation. Il est inclus dans le processus et constitue la véritable unité opérationnelle du processus. Un thread fait référence à une séquence unique de flux de contrôle dans un processus. Un processus peut avoir plusieurs threads et chaque thread peut effectuer différentes tâches en même temps. Un thread peut être vu comme une séquence d'instructions nécessaires à l'exécution par un CPU

Multi-threading

Deux modules sont fournis dans la bibliothèque standard de Python : _thread et threading , _thread est un module de bas niveau qui ne prend pas en charge les threads démons. Lorsque le thread principal se termine, tous les threads enfants seront fermés de force. Threading est un module avancé qui encapsule _thread pour prendre en charge les threads démons. Dans la plupart des cas, nous devons uniquement utiliser le module threading avancé.

La différence entre multi-threading et multi-processus en python

La notion de processus :

Un processus désigne un processus d'exécution d'un programme sur un ensemble de données donné, qui est un système Une unité indépendante pour l'allocation des ressources et les appels d'exécution. Autrement dit, chaque candidature a son propre processus. Lorsqu'un processus démarre, il génère d'abord un thread. Ce thread est appelé le thread principal, puis le thread principal crée d'autres sous-threads

Processus multiples :

Processus multiples Le processus est le module multitraitement qui fournit une concurrence distante et locale. Dans le scénario d'utilisation d'une bibliothèque multitraitement, tous les processus enfants sont démarrés par un processus parent. Ce processus parent devient le processus principal, qui gère une série d'états d'objet. . Une fois ce processus terminé, le processus enfant est susceptible d'être dans un état instable, le processus parent doit donc faire le moins possible pour maintenir sa stabilité

La différence entre multi-threading et multi-processus en python

. Threads et processus La différence

(1) Le thread doit être exécuté dans un certain processus. Un processus peut contenir plusieurs threads et il ne peut y avoir qu'un seul thread principal.

(2) Plusieurs threads partagent le même espace d'adressage, ouvrent des fichiers et d'autres ressources. Plusieurs processus partagent de la mémoire physique, des disques, des imprimantes et d'autres ressources.

(3) Les threads n'occupent presque aucune ressource, ont une faible surcharge du système, une vitesse de commutation rapide et plusieurs threads dans le même processus peuvent partager des données, mais elles ne sont pas partageables entre les processus

(4 ) La création d'un nouveau thread est très simple, mais la création d'un nouveau processus nécessite le clonage du processus parent

(5) Un thread peut contrôler et faire fonctionner d'autres threads dans le même processus mais un processus peut le faire ; n'exploiter que les processus enfants

Résumé : ce qui précède représente l'intégralité du contenu de cet article, j'espère qu'il sera utile à tout le monde.

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