2010-11-22 16 views

Répondre

1

Vous pouvez attribuer le nom dans le code threadé, utile pour le débogage. Cela a fonctionné:

using System; 
using System.Threading; 
using System.Threading.Tasks; 

class Program { 
    static void Main(string[] args) { 
     var task = Task.Factory.StartNew(() => { 
      Thread.CurrentThread.Name = "Hello world"; 
      // Look in the Debug + Windows + Threads window now... 
      System.Threading.Thread.Sleep(10000); 
     }); 
     Console.ReadLine(); 
    } 
} 
+0

OP demandé de nommer une tâche, pas Thread. –

+0

@Petar - c'était mon hypothèse que le seul moyen de donner un sens à une telle requête était de pouvoir nommer le thread. Vous pouvez donc facilement retrouver la tâche dans la fenêtre Threads. –

+0

Excellent exemple complet. Merci beaucoup. Je souhaite que Microsoft l'ait inclus en tant que paramètre de la tâche pour des raisons de portée, mais cela le fera probablement. Je devais soit ajouter un point d'arrêt sur l'instruction readline, soit faire une pause pour que les fenêtres de débogage des tâches et des threads affichent quoi que ce soit. Je l'ai aussi changé pour utiliser un temps infini plutôt que de dormir, donc il n'y avait pas d'urgence à ouvrir les fenêtres. –

2

Non, je ne crois pas que les tâches ont des noms. Chaque tâche a un Id unique dont vous pouvez suivre, mais pas un nom.