Maison >Problème commun >L'unité de base pour l'allocation du CPU
L'unité de base d'allocation du temps CPU dans Windows est le thread. Un thread est la plus petite unité sur laquelle le système d’exploitation peut effectuer la planification des opérations. Il est inclus dans le processus et constitue la véritable unité opérationnelle du processus.
Un thread fait référence à un seul flux de contrôle séquentiel dans un processus. Plusieurs threads peuvent s'exécuter simultanément dans un processus. Chaque thread exécute différents. tâches en parallèle. (Apprentissage recommandé : Tutoriel vidéo PHP)
est également appelé processus légers sous Unix System V et SunOS, mais les processus légers font davantage référence aux threads du noyau) et au thread utilisateur (utilisateur. thread) est appelé un thread.
Les threads sont l'unité de base de la planification et de la répartition indépendantes.
Les threads peuvent être des threads de noyau planifiés par le noyau du système d'exploitation, tels que les threads Win32 ; des threads utilisateur planifiés par les processus utilisateur eux-mêmes, tels que POSIX Thread sur la plate-forme Linux ou des threads entre le noyau et les processus utilisateur, tels que ; en tant que threads Windows 7. Effectuez une planification hybride.
Les threads sont des entités dans un processus. Un processus peut avoir plusieurs threads, et un thread doit avoir un processus parent. Le thread ne possède pas de ressources système, seulement certaines structures de données nécessaires au fonctionnement ; il partage toutes les ressources appartenant au processus avec d'autres threads du processus parent. Les threads peuvent créer et détruire des threads pour réaliser une exécution simultanée de programmes.
Généralement, un thread a trois états de base : prêt, bloqué et en cours d'exécution.
Dans un système multi-CPU, différents threads peuvent s'exécuter sur différents CPU en même temps, même lorsqu'ils appartiennent au même processus. La plupart des systèmes d'exploitation prenant en charge plusieurs processeurs fournissent des interfaces de programmation qui permettent aux processus de contrôler l'affinité entre leurs propres threads et chaque processeur.
Parfois, les threads sont également appelés processus légers. Tout comme les processus, les threads sont des chemins d'exécution indépendants et simultanés dans le programme. Chaque thread possède sa propre pile, son propre compteur de programme et ses propres variables locales. Cependant, les threads au sein d’un processus sont moins isolés les uns des autres que les processus séparés.
Ils partagent la mémoire, les descripteurs de fichiers et d'autres états que chaque processus devrait avoir.
Un processus peut prendre en charge plusieurs threads, qui semblent s'exécuter simultanément mais ne sont pas synchronisés les uns avec les autres. Plusieurs threads d'un processus partagent le même espace d'adressage mémoire, ce qui signifie qu'ils peuvent accéder aux mêmes variables et objets, et qu'ils allouent des objets à partir du même tas.
Bien que cela facilite le partage d'informations entre les threads, vous devez faire attention à ce qu'ils ne gênent pas les autres threads dans le même processus.
Pour plus d'articles techniques liés à PHP, veuillez visiter la colonne Tutoriel graphique PHP pour apprendre !
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!