Maison  >  Article  >  Opération et maintenance  >  La différence entre les threads et les processus Linux

La différence entre les threads et les processus Linux

王林
王林original
2019-11-02 17:10:126054parcourir

La différence entre les threads et les processus Linux

1. Les concepts de threads et de processus

Processus : Il s'agit d'un programme en cours d'exécution et de la plus petite unité d'allocation système de ressources.

Thread : C'est un chemin d'exécution dans le processus et la plus petite unité de planification du système.

2. La relation entre les threads et les processus

1. Un processus peut avoir plusieurs threads, et un thread ne peut appartenir qu'à un seul processus (subordonné).

2. Tous les threads sous le même processus partagent toutes les ressources (ressources) sous le processus.

3. Ce qui s'exécute réellement sur le processeur est un thread plutôt qu'un processus. Un thread est une unité d'exécution au sein du processus et une entité planifiable (entité en cours d'exécution) au sein du processus.

3. La différence entre les threads et les processus

Planification : le thread est l'unité de base de la planification et le processus est l'unité de base de la propriété des ressources.

Concurrence : les processus et les threads peuvent s'exécuter simultanément.

Ressources : un processus est une unité indépendante qui possède des ressources. Les threads ne possèdent pas de ressources système, mais ils peuvent accéder aux ressources appartenant au processus. Les threads ont leur propre espace de pile et leur propre compteur de programme.

Surcharge du système : la surcharge du processus est supérieure à celle des threads, et le changement de contexte de thread est beaucoup plus rapide que le changement de contexte inter-processus.

Pour plusieurs threads dans chaque processus, les segments de données statiques (y compris les variables globales, les objets statiques), le tas (tas, l'espace alloué par malloc et new) sont partagés. Chaque thread possède sa propre pile indépendante pour stocker les variables locales.

Tutoriel recommandé : Tutoriel Linux

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