Threads de premier plan et d’arrière-plan

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 à une exception près : un thread d’arrière-plan ne permet pas de poursuivre l’exécution de 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 se ferme.

Notes

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 propriété Thread.IsBackground pour déterminer si un thread est un thread d’arrière-plan ou 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.

Important

L’état de premier plan ou d’arrière-plan d’un thread n’affecte pas le résultat d’une exception non prise en charge dans le thread. Une exception non prise en charge dans des threads de premier plan ou d’arrière-plan entraîne l’arrêt de l’application. Voir Exceptions dans les threads managés.

Les threads qui font partie du pool de threads managés (autrement dit, les threads dont la propriété IsThreadPoolThread est true) sont des threads d’arrière-plan. Tous les threads qui entrent dans l’environnement d’exécution managé à partir de code non managé sont marqués comme threads d’arrière-plan. Tous les threads générés en créant et en démarrant un nouvel 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 propriété IsBackground sur true afin que le thread n’empêche pas votre processus de s’arrêter.

Voir aussi