Notes
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Un thread managé est un thread d’arrière-plan ou un thread de premier plan. Les threads d’arrière-plan sont identiques aux threads de premier plan avec une exception : un thread d’arrière-plan ne conserve pas l’environnement d’exécution managé. Une fois que tous les threads de premier plan ont été arrêtés dans un processus managé (où le fichier .exe est un assembly managé), le système arrête tous les threads d’arrière-plan et s’arrête.
Remarque
Lorsque le runtime arrête un thread d’arrière-plan parce que le processus est en cours d’arrêt, aucune exception n’est levée dans le thread. Toutefois, lorsque des threads sont arrêtés parce que la méthode AppDomain.Unload décharge le domaine d’application, une ThreadAbortException est levée dans les threads de premier plan et d’arrière-plan.
Utilisez la Thread.IsBackground propriété pour déterminer si un thread est un arrière-plan ou un thread de premier plan, ou pour modifier son état. Un thread peut être transformé en thread d’arrière-plan à tout moment en définissant sa propriété IsBackground sur true
.
Importante
Le premier plan ou l’état d’arrière-plan d’un thread n’affecte pas le résultat d’une exception non gérée dans le thread. Une exception non gérée dans les threads principaux ou d’arrière-plan provoque l’arrêt de l’application. Consultez les exceptions dans les threads managés.
Les threads appartenant au pool de threads managés (autrement dit, les threads dont IsThreadPoolThread la propriété est true
) sont des threads d’arrière-plan. Tous les threads qui entrent dans l’environnement d’exécution managé à partir du code non managé sont marqués comme threads d’arrière-plan. Tous les threads générés par la création et le démarrage d’un objet Thread sont par défaut des threads de premier plan.
Si vous utilisez un thread pour surveiller une activité, telle qu’une connexion de socket, définissez sa IsBackground propriété true
pour que le thread n’empêche pas la fin de votre processus.