Threads et processus
Mise à jour : novembre 2007
Les threads et processus sont des concepts liés en informatique. Tous deux représentent des séquences d'instructions qui doivent s'exécuter dans un ordre spécifique. Les instructions dans des threads ou processus séparés, toutefois, peuvent s'exécuter en parallèle.
Les processus existent dans le système d'exploitation et correspondent à ce que les utilisateurs voient sous la forme de programmes ou d'applications. Un thread, en revanche, existe dans un processus. C'est pour cette raison que les threads sont parfois appelés processus légers. Chaque processus est constitué d'un ou de plusieurs threads.
L'existence de plusieurs processus permet à un ordinateur d'effectuer plusieurs tâches à la fois. L'existence de plusieurs threads permet à un processus de séparer le travail à exécuter en parallèle. Sur un ordinateur multiprocesseur, les processus ou les threads peuvent s'exécuter sur différents processeurs. Ce type d'exécution permet un véritable traitement en parallèle.
Le traitement en parallèle parfait n'est pas toujours possible. Les threads doivent parfois être synchronisés. Un thread peut attendre le résultat d'un autre thread ou un thread peut avoir besoin d'un accès exclusif à une ressource utilisée par un autre thread. Les problèmes de synchronisation sont une cause courante de bogues dans les applications multithread. Les threads attendent parfois une ressource qui n'est jamais disponible. Cet état est appelé blocage.
Le débogueur Visual Studio propose des outils performants mais faciles à utiliser pour déboguer les threads et les processus.
Outils pour le débogage de threads et processus dans Visual Studio
Les principaux outils pour le débogage des processus dans Visual Studio sont la boîte de dialogue Attacher au processus, la fenêtre Processus et la barre d'outils Emplacement de débogage. Les principaux outils pour le débogage des threads sont la fenêtre Threads, les marqueurs de thread dans les fenêtres source et la barre d'outils Emplacement de débogage.
Le tableau suivant affiche les informations disponibles et les actions que vous pouvez exécuter depuis chacun de ces emplacements :
Interface utilisateur |
Informations disponibles |
Actions que vous pouvez effectuer |
---|---|---|
Boîte de dialogue Attacher au processus |
Processus disponibles auxquels vous pouvez attacher :
|
Sélectionnez un processus auquel attacher. Sélectionnez un ordinateur distant. Modifiez le type de transport pour la connexion aux ordinateurs distants |
Fenêtre Processus. |
Processus attachés :
|
Outils :
Menu contextuel :
|
Fenêtre Threads |
Threads dans le processus actuel :
|
Menu contextuel :
Autres actions :
|
Fenêtre source |
Les indicateurs de thread de la reliure de gauche signalent un ou plusieurs threads |
Menu contextuel :
|
Barre d'outils Emplacement de débogage |
|
|
Voir aussi
Tâches
Comment : utiliser la fenêtre Processus