Le threading est une abstraction de programme pour l'exécution parallèle dans les systèmes d'exploitation modernes. L'exécution d'un programme multithread se déroule comme suit : l'espace d'adressage de la RAM et les fichiers ouverts sont partagés entre les threads afin de minimiser les frais généraux et d'utiliser le temps de l'unité centrale de manière plus efficace. Tout cela fait de l'exécution multithread un mécanisme efficace et utile. Vous pouvez visualiser les threads à l'aide des outils de ligne de commande ps
et top
. Voyons maintenant comment procéder dans le système d'exploitation Linux.
Linux propose deux façons de déboguer des processus multithreads pour effectuer une action particulière. La première consiste à créer ses propres copies à l'aide du mécanisme de fourche, puis à faire communiquer ces processus par l'intermédiaire de sockets ou d'IPC. Т. L'utilisateur obtient des processus qui occupent des ressources et une certaine quantité de mémoire. La méthode suivante consiste à allouer des threads à l'intérieur d'un processus unique. De cette manière, tous les threads d'un même processus auront un identifiant de groupe de threads ainsi qu'un identifiant unique. Ils auront donc accès à toutes les ressources du processus parent et occuperont moins de mémoire.
Dans ce programme, les fils de processus sont activés par une seule commande - T.
Vous pouvez ainsi voir tous les fils de processus avec PID pour Chromium :
$ ps -T -p
La colonne SPID indique l'ID du processus et la colonne CMD indique le nom du processus.
Avec l'aide de l'utilitaire top, il est facile de voir les fils de discussion en temps réel. Pour ce faire, vous devez exécuter top avec l'option -H.
Il est possible d'activer ou de désactiver l'affichage des threads au moment de l'exécution en utilisant la touche H :
$ top -H
Si vous souhaitez afficher uniquement les threads du processus souhaité, utilisez l'option -H :
$ top -H -p pid
Comme vous pouvez le constater, l'utilisation de top est assez simple.
Cependant, l'utilitaire le plus pratique pour afficher les fils de discussion est HTOP. C'est le principal visualisateur de processus interactif sur ncurces. Avec son aide, vous pouvez observer les threads en temps réel sous la forme d'un arbre.
Pour ce faire, vous devez activer la vue des threads dans htop : tout d'abord, ouvrez le programme, entrez dans le menu en appuyant sur F2, puis sélectionnez Display Options (Options d'affichage), sous Setup (Configuration). Cochez ensuite les cases Three view et Show custom thread names. C'est tout, vous pouvez appuyer sur F10 pour enregistrer les paramètres :
C'est tout. De cette manière, vous pouvez afficher les fils de discussion dans une arborescence, séparément pour chaque processus. Ici encore, vous pouvez voir les fils de discussion pour le navigateur Chromium :