"Thread" est la plus petite unité de flux d'instructions lorsqu'un programme est en cours d'exécution. Un processus fait référence à un programme avec certaines fonctions indépendantes, et un thread fait partie du processus, décrivant l'état d'exécution du flux d'instructions ; le thread est la plus petite unité du flux d'exécution d'instructions dans le processus et est l'unité de base ; de planification du processeur. Un thread est un processus d'exécution d'une tâche (un segment de programme) ; un thread n'occupe pas d'espace mémoire, il est inclus dans l'espace mémoire du processus. Au sein d'un même processus, plusieurs threads partagent les ressources du processus ; un processus possède au moins un thread.
L'environnement d'exploitation de ce tutoriel : système Windows 7, ordinateur Dell G3.
"Thread" est la plus petite unité de flux d'instructions lorsqu'un programme est en cours d'exécution.
Un processus fait référence à un processus d'exécution dynamique d'un programme avec certaines fonctions indépendantes sur une collection de données. Le thread fait partie du processus et décrit l’état d’exécution du flux d’instructions. Il s'agit de la plus petite unité de flux d'exécution d'instructions dans un processus et de l'unité de base de la planification du processeur.
Thread : un processus léger, qui est la plus petite unité de planification par le système d'exploitation. Un thread est un processus d'exécution d'une tâche (un segment de programme). Le thread n’occupe pas d’espace mémoire, il est inclus dans l’espace mémoire du processus. Au sein d’un même processus, plusieurs threads partagent les ressources du processus. Un processus a au moins un thread.
Statut
Lorsque le système d'exploitation crée un thread, le thread est dans l'état de création. Lorsque le processeur planifie le thread, le thread est à ce moment-là, autre créé ou découpé dans le temps. les threads sont à l'état prêt.Bien sûr, certains threads sont toujours à l'état prêt lors de l'exécution d'E/S, comme le disque et le réseau, et lorsque le système d'exploitation détruit le thread, le thread est dans un état terminé. . De plus, le thread a également un état statique prêt et un état statique bloqué. Être dans ces deux états signifie que le thread est suspendu par le système d'exploitation afin d'observer et d'analyser l'état du thread.
Caractéristiques
Dans un système d'exploitation multithread, plusieurs threads sont généralement inclus dans un processus. Chaque thread est l'unité de base d'utilisation du processeur et est l'entité qui coûte le moins cher. Les threads ont les propriétés suivantes.
1), Entités légères
Les entités dans les threads ne possèdent fondamentalement pas de ressources système, mais disposent seulement de quelques ressources indispensables qui peuvent assurer un fonctionnement indépendant.
Les entités de thread incluent les programmes, les données et le TCB. Thread est un concept dynamique et ses caractéristiques dynamiques sont décrites par Thread Control Block (TCB).
2), unité de base de planification et d'expédition indépendantes.
Dans un système d'exploitation multithread, les threads sont l'unité de base qui peut s'exécuter indépendamment et sont donc également l'unité de base de la planification et de la répartition indépendantes. Parce que les threads sont très "légers", le changement de thread est très rapide et entraîne peu de frais généraux (dans le même processus).
3), peuvent être exécutés simultanément.
Plusieurs threads dans un processus peuvent être exécutés simultanément, et même tous les threads d'un processus peuvent être exécutés simultanément ; de même, les threads de différents processus peuvent également être exécutés simultanément, en utilisant pleinement le processeur et la capacité des périphériques à fonctionner. en parallèle.
4), ressources de processus partagées.
Chaque thread d'un même processus peut partager les ressources appartenant au processus. Cela se manifeste d'abord par : tous les threads ont le même espace d'adressage (l'espace d'adressage du processus), ce qui signifie que le thread peut accéder à l'espace d'adressage. Chaque adresse virtuelle du processus ; en outre, vous pouvez également accéder aux fichiers ouverts, aux minuteries, aux mécanismes de sémaphore, etc. appartenant au processus. Étant donné que les threads d'un même processus partagent de la mémoire et des fichiers, les threads communiquent entre eux sans appeler le noyau.
Pour plus de connaissances connexes, veuillez visiter la rubrique FAQ !
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!