Maison  >  Article  >  développement back-end  >  Compréhension des threads dans la connaissance du système d'exploitation

Compréhension des threads dans la connaissance du système d'exploitation

一个新手
一个新手original
2017-10-23 09:29:241602parcourir

Thread

Le thread est également appelé mini-processus. Les threads sont plus légers que les processus et plus faciles à créer. La commutation est plus facile. S'il y a beaucoup de calculs intensifs et d'opérations d'E/S. Avoir plusieurs threads permet à ces activités de se chevaucher.

Exemple. Lorsque nous utilisons un logiciel de traitement de texte pour traiter du texte, il y aura plusieurs fils de discussion. Une interface graphique qui interagit avec l'utilisateur. La première consiste à gérer la sauvegarde automatique des fichiers. S'il s'agit d'un seul thread. Lors de la sauvegarde, les opérations au clavier sont ignorées. Pas convivial.

Modèle de thread

Un processus a un thread d'exécution, dans lequel se trouvent un compteur de programme, des registres et des enregistrements de pile dossier historique. Les processus sont utilisés pour rassembler les ressources et les threads constituent l'unité de base de la planification du processeur.

Les données de gauche sont le contenu du processus, qui est partagé par tous les fils de discussion, les données de droite sont le contenu d'un thread unique et autres threads Pas de partage

Lorsqu'un thread termine son travail, quittez via (thread_exit)

Lorsqu'un autre thread commun appelle (thread_yield), cela permet au thread d'abandonner automatiquement le processeur et laissez un autre thread s'exécuter

Threads POSIX

Afin d'implémenter des programmes portables. L'IEEE a développé des normes pour les threads.

Implémentez des threads dans l'espace utilisateur. Mettez l'intégralité du fil de discussion dans l'espace utilisateur. Le noyau ne sait rien.

Thèmes de discussion au niveau utilisateur, les utilisateurs peuvent implémenter leurs propres algorithmes de planification.

Les threads sont implémentés dans le noyau. Utilisez les appels système. La table des threads est stockée dans le noyau. Le coût de création et de destruction des threads dans le noyau est très élevé. Utilisez donc l'indicateur pour rendre ce thread non exécutable.

Implémentation hybride

Le noyau identifie les threads du noyau et les planifie. Certains threads du noyau sont réutilisés par plusieurs threads utilisateur.

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