


Comment faire la distinction entre les threads de premier plan et d'arrière-plan c#
Le Common Language Runtime (CLR) de
Net
peut distinguer deux types différents de threads : les threads de premier plan et les threads d'arrière-plan. La différence entre les deux est que l'application doit exécuter tous les threads de premier plan avant de pouvoir se fermer ; tandis que pour les threads d'arrière-plan, l'application peut se terminer directement sans se demander si elle a fini de s'exécuter. Tous les threads d'arrière-plan se fermeront lorsque l'application se terminera automatiquement.
Vous ne connaissez peut-être pas la différence :
<strong>前台线程</strong>
La différence et le lien entre et 后台线程
:
1. Le fil de fond ne fonctionne pas Empêchera le processus de se terminer. Un processus se termine lorsque tous les threads de premier plan qui lui appartiennent sont terminés. Tous les threads d’arrière-plan restants sont arrêtés et ne se termineront pas.
2. Vous pouvez changer le fil de premier plan en fil d'arrière-plan à tout moment en définissant la propriété Thread.IsBackground.
3. Qu'il s'agisse d'un thread de premier plan ou d'un thread d'arrière-plan, si une exception se produit dans le thread, le processus se terminera.
4. Les threads du pool de threads gérés sont tous des threads d'arrière-plan, et les threads créés à l'aide de la nouvelle méthode Thread sont tous des threads de premier plan par défaut.
.net
Les threads créés à l'aide de Thread dans l'environnement sont des threads de premier plan par défaut, c'est-à-dire que l'attribut de thread IsBackground=false Dans le processus, tant qu'un thread de premier plan n'est pas terminé, le processus ne se terminera pas. mettre fin. Le fil principal est un fil de premier plan. Le thread d'arrière-plan, que le thread se termine ou non, tant que tous les threads de premier plan se terminent (y compris la sortie normale et la sortie anormale), le processus se terminera automatiquement. Généralement, les threads d'arrière-plan sont utilisés pour traiter des tâches à court terme. Par exemple, dans un serveur Web, les threads d'arrière-plan peuvent être utilisés pour traiter les informations de demande envoyées par le client. Le thread de premier plan est généralement utilisé pour gérer des tâches qui nécessitent une attente à long terme, telles que les programmes qui surveillent les requêtes des clients sur un serveur Web ou les programmes qui analysent régulièrement certaines ressources système.
Cas
static void Main(string[] args) { SampleTread thead = new SampleTread(10); SampleTread theadback = new SampleTread(10); var theadone = new Thread(thead.CountNumbers); var theadtwo = new Thread(theadback.CountNumbers); theadtwo.IsBackground = true; theadone.Start(); theadtwo.Start(); }
class SampleTread { private readonly int _iterations; public SampleTread(int iterations) { this._iterations = iterations; } public void CountNumbers() { for (int i = 0; i < _iterations; i++) { Sleep(TimeSpan.FromSeconds(0.5)); Console.WriteLine($"{ CurrentThread.Name}print{i}"); } } }
Analyse
Le résultat en cours est qu'une fois l'exécution du thread avant terminée, le thread d'arrière-plan sera également sortie. En fait, il n'y a pas de concept de threads avant et arrière dans le système d'exploitation, alors pourquoi existe-t-il une telle chose ?
A quoi ça sert ? C'est à l'origine le cas. Lorsque notre thread principal se termine, les autres threads devraient également se terminer, car notre objet thread est libéré lorsque le thread principal se termine, le préjudice causé aux autres threads sera donc vraiment important. nous fournit les concepts de threads de premier plan et de threads d'arrière-plan pour faciliter le fonctionnement des threads.
Quant à la façon de l'utiliser, cela dépend du projet spécifique. Les fils d'arrière-plan servent souvent de fonctions auxiliaires. Par exemple, dans WinForm, le processus de thread n'est toujours pas fermé après la fermeture de la fenêtre. En effet, le thread principal est arrêté après la fermeture. Le thread principal sera fermé en toute sécurité après la fermeture des autres threads.
C'est pourquoi vous pouvez également voir d'autres fils de discussion. Bien sûr, la raison pour laquelle vous voyez d'autres fils de discussion peut être qu'il existe plusieurs processus et que les fils de discussion principaux des autres processus ne sont pas fermés.
Recommandations d'apprentissage associées : Tutoriel vidéo C
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Une constante est aussi appelée variable et une fois définie, sa valeur ne change pas lors de l'exécution du programme. Par conséquent, nous pouvons déclarer une variable comme une constante faisant référence à une valeur fixe. On l'appelle aussi texte. Les constantes doivent être définies à l'aide du mot-clé Const. Syntaxe La syntaxe des constantes utilisées dans le langage de programmation C est la suivante - consttypeVariableName; (ou) consttype*VariableName; Différents types de constantes Les différents types de constantes utilisées dans le langage de programmation C sont les suivants : Constantes entières - Par exemple : 1,0 ,34, 4567 Constantes à virgule flottante - Exemple : 0.0, 156.89, 23.456 Constantes octales et hexadécimales - Exemple : Hex : 0x2a, 0xaa.. Octal

VS Code et Visual Studio C++ IntelliSense peuvent ne pas être en mesure de récupérer les bibliothèques, en particulier lorsque vous travaillez sur de grands projets. Lorsque nous survolons #Include<wx/wx.h>, nous voyons le message d'erreur "CannotOpen source file 'string.h'" (dépend de "wx/wx.h") et parfois, la fonction de saisie semi-automatique ne répond pas. Dans cet article, nous verrons ce que vous pouvez faire si VSCode et VSC++ IntelliSense ne fonctionnent pas ou n'extraient pas de bibliothèques. Pourquoi mon Intellisense ne fonctionne-t-il pas en C++ ? Lorsque vous travaillez avec des fichiers volumineux, IntelliSense parfois

Vous ne parvenez pas à acheter ou à regarder du contenu sur votre Xbox en raison du code d'erreur 8C230002 ? Certains utilisateurs continuent de recevoir cette erreur lorsqu'ils tentent d'acheter ou de regarder du contenu sur leur console. Désolé, il y a un problème avec le service Xbox. Réessayez plus tard. Pour obtenir de l'aide sur ce problème, visitez www.xbox.com/errorhelp. Code d'état : 8C230002 Ce code d'erreur est généralement provoqué par des problèmes temporaires de serveur ou de réseau. Cependant, il peut y avoir d'autres raisons, telles que les paramètres de confidentialité de votre compte ou le contrôle parental, qui peuvent vous empêcher d'acheter ou de visualiser un contenu spécifique. Correction du code d'erreur Xbox 8C230002 Si vous recevez le code d'erreur 8C lorsque vous essayez de regarder ou d'acheter du contenu sur votre console Xbox

Nous prenons le tableau d'entiers Arr[] en entrée. Le but est de trouver les éléments les plus grands et les plus petits d’un tableau en utilisant une méthode récursive. Puisque nous utilisons la récursion, nous allons parcourir l'ensemble du tableau jusqu'à ce que nous atteignions length = 1, puis retourner A[0], qui constitue le cas de base. Sinon, l'élément actuel est comparé à la valeur minimale ou maximale actuelle et sa valeur est mise à jour de manière récursive pour les éléments suivants. Examinons différents scénarios d'entrée et de sortie pour cela −Input −Arr={12,67,99,76,32}; Output −Valeur maximale dans le tableau : 99 Explication &mi ;

Selon les informations du 25 mai, China Eastern Airlines a dévoilé les derniers progrès réalisés sur l'avion de passagers C919 lors de la réunion d'information sur les performances. Selon l'entreprise, le contrat d'achat du C919 signé avec COMAC est officiellement entré en vigueur en mars 2021 et le premier avion C919 a été livré fin 2022. Il est prévu que l’avion soit officiellement mis en service prochainement. China Eastern Airlines utilisera Shanghai comme base principale pour les opérations commerciales du C919 et prévoit d'introduire un total de cinq avions de passagers C919 en 2022 et 2023. La société a déclaré que les futurs plans d'introduction seront déterminés en fonction des conditions d'exploitation réelles et de la planification du réseau de routes. Selon la compréhension de l'éditeur, le C919 est la nouvelle génération chinoise d'avions de passagers monocouloirs avec des droits de propriété intellectuelle totalement indépendants dans le monde et il est conforme aux normes de navigabilité acceptées au niveau international. Devrait

L’affichage des nombres dans différents formats est l’un des problèmes de codage fondamentaux de l’apprentissage. Différents concepts de codage comme les instructions conditionnelles et les instructions de boucle. Il existe différents programmes dans lesquels nous utilisons des caractères spéciaux comme des astérisques pour imprimer des triangles ou des carrés. Dans cet article, nous imprimerons les nombres sous forme de spirale, tout comme les carrés en C++. Nous prenons le nombre de lignes n comme entrée, et commençons par le coin supérieur gauche et nous déplaçons vers la droite, puis vers le bas, puis vers la gauche, puis vers le haut, puis encore vers la droite, et ainsi de suite. Motif en spirale avec chiffres 123456724252627282982340414243309223948494431102138474645321120373635343312191817161514

void en C est un mot-clé spécial utilisé pour représenter un type vide, ce qui signifie des données sans type spécifique. En langage C, void est généralement utilisé dans les trois aspects suivants. Le type de retour de la fonction est void. En langage C, les fonctions peuvent avoir différents types de retour, tels que int, float, char, etc. Cependant, si la fonction ne renvoie aucune valeur, le type de retour peut être défini sur void. Cela signifie qu'une fois la fonction exécutée, elle ne renvoie pas de valeur spécifique. Par exemple : voidhelloWorld()

Selon le TIOBE Programming Community Index, l'une des références permettant de mesurer la popularité des langages de programmation, il est évalué en collectant des données auprès d'ingénieurs, de cours, de fournisseurs et de moteurs de recherche du monde entier. L'indice TIOBE de janvier 2024 a été publié récemment et le classement officiel des langages de programmation pour 2023 a été annoncé. C# a remporté le prix TIOBE 2023 du langage de programmation de l'année. C'est la première fois que C# remporte cet honneur en 23 ans. Le communiqué de presse officiel de TIOBE indique que C# figure dans le top 10 depuis plus de 20 ans. Il rattrape désormais les quatre langages majeurs et est devenu le langage de programmation avec la plus forte croissance en un an (+1,43%). C'est bien mérité de remporter ce prix. En deuxième position, on retrouve Scratch (+0,83%) et Fortran (+0).
