2010-07-28 3 views
0

De mon processus actuel dans .NET, je peux obtenir une liste de tous ses threads. Est-il possible de trouver quel genre de fil c'est? Pour obtenir des détails si c'est par exemple un worker, IO, CLR, backgroud ou thread principal?Obtenir le type de thread .NET?

Répondre

0

Il n'y aura pas de solution unique pour ce faire.

  • Vous pouvez vérifier la propriété Thread.IsBackground pour voir si elle est un fil d'arrière-plan (qui est selon la définition de fond que la propriété utilise c'est).
  • Vous pouvez tirer parti de la propriété de nom pour l'identifier ultérieurement.
  • Vous pouvez utiliser thread local storage pour insérer des informations "dans" un thread que vous pourrez extraire plus tard pour l'identifier. Vous pouvez utiliser Thread.IsThreadPoolThread pour voir s'il s'agit d'un thread géré par le pool de threads.

Chacune d'elles a ses propres avantages et inconvénients. Je pense que vous allez avoir du mal à identifier un fil sans y avoir joint une sorte d'information à l'avance.

Questions connexes