Demande d'explication, sur les threads et handles. - Win NT/2K/XP - Windows & Software
Marsh Posté le 29-11-2002 à 11:32:18
Un handle, c'est un identifiant. Tu t'en sert pour indiquer à une fonction sur quel objet tu veux qu'elle agisse.
Un thread, c'est un flux d'instructions, c'est à dire le programme exécuté par le processeur.
Marsh Posté le 29-11-2002 à 11:51:55
Truc de programmeur, ça !!!
Un handle, c'est une sorte de poignée pour définir un objet. Après tu manipules l'objet grâce au handle.
Un thread, c'est une unité fonctionnelle, qui dans les systèmes d'exploitation multi-tâches, te permet d'allouer du temps pour telle opération, faire autre chose dans un autre thread, etc...
Par exemple, si tu programmes un traitement de texte, un thread principal s'occuperait de la gestion du clavier, un autre se lancerait toutes les secondes pour le dictionnaire, etc...
J'espère que je n'ai pas dit trop de conneries...
Cyrille
Marsh Posté le 29-11-2002 à 12:15:49
Merci à vous deux pour vos explications.
En faites je demande ça car j'ai vu dans le gestionnaire des tâches de windows 2000 dans l'onglet Performances qu'il y avait dans la zone Totaux:
Handles= je sais pas à quoi ça correspond, mais je voudrai savoir
Threads= je sais pas à quoi ça correspond, mais je voudrai savoir
Processus= programme en cours d'exécution
Marsh Posté le 29-11-2002 à 13:14:58
Le handle, c'est ce qui identifie chaque objet graphique. Une fenêtre, un bouton, une surface, un menu.... ont un handle.
Pour la distinction processus/thread, c'est plus difficile à expliquer.
Le processus correspond à une sorte de boîte isolée des autres processus. Une donnée en mémoire, un handle, un descripteur de fichier.... sont affectés à un processus. Tu peux dire que tel processus occupe tel espace mémoire, qu'une fenêtre est rattachée à un processus particulier.
Mais cette boîte, il faut qu'elle vive pour que ca ait un intérêt. C'est là qu'interviennent les threads.
Un thread, c'est la suite d'instructions qu'exécute le processeur. Il y a au moins un thread dans un processus (sinon, il ne pourrait rien se passer dans le processus), mais un processus peut contenir plusieurs threads.
Marsh Posté le 29-11-2002 à 17:10:04
merci Mrbetbert pour ton explication,
donc pour résumer:
un thread excute une instruction demander par un processus
un handle est un nombre entier qui permet d'indentifier un objet
donc dans le gestionnaire des tâches de windows onglet performances, Zone Totaux.
Handles = affiche le nombre d'objet en cours d'exécution
Threads = affiche le nombre d'instruction en cours d'exécution
Processus= affiche le nombre de programme en cours d'exécution
dites moi si j'ai bien compris.
Marsh Posté le 29-11-2002 à 17:17:49
Aladin06 a écrit a écrit : ... un thread excute une instruction demander par un processus ... |
Un thread n'exécute pas une instruction, c'est une suite d'instruction (exécutées par le processeur)
Pour prendre un exemple d'un client mail, tu peux avoir un thread qui va attendre les messages venant du clavier/souris et les traiter, et un autre qui va se connecter à un serveur pour télécharger les nouveaux mails. Chacun d'eux s'exécute indépendamment de l'autre.
L'ensemble appartient à un processus.
Le processus, c'est juste la boîte qui contient toutes les ressources et à l'intérieur duquel s'exécute le(s) thread(s).
Marsh Posté le 30-11-2002 à 15:19:11
En shéma :
|
Marsh Posté le 29-11-2002 à 11:24:12
Bonjour,
quelqu'un pourrait m'expliquer le plus simplement possible (car moi bien neuneu sur les bords) qu'est-ce que les Threads et aussi les Handles
je précise qu'avant de poster j'ai fait des recherches mais j'ai pas compris les explications données.
Aladin