with visual threadstart threads thread new net multi method example español book c# multithreading

c# - visual - ¿Cómo enumerar hilos en.NET usando la propiedad Name?



threadstart c# (4)

Creo que quieres lo siguiente

System.Diagnostics.Process.GetCurrentProcess (). Threads

Supongamos que comienzo dos hilos como este:

// Start first thread Thread loaderThread1 = new Thread(loader.Load); loaderThread1.Name = "Rope"; loaderThread1.Start(); // Start second thread Thread loaderThread2 = new Thread(loader.Load); loaderThread2.Name = "String"; loaderThread2.Start();

¿Hay alguna forma de que pueda enumerar los hilos utilizando su propiedad Nombre?

Quiero ser capaz de verificar si un hilo con un nombre específico aún se está ejecutando.

Cada hilo que creo funciona con un conjunto de datos con nombre, el nombre del conjunto de datos se usa como el nombre del hilo que trabaja con los datos. Antes de iniciar un hilo de trabajo, quiero ver si ya se está ejecutando algún hilo anterior para el mismo conjunto de datos.

Los hilos que obtengo al usar System.Diagnostics.GetCurrentProcess().Threads son de tipo ProcessThread , no Thread !


Entonces, después de mi error con los hilos de proceso, aquí hay una manera de cómo sostener tus hilos. Nada espectacular, pero creo que los ejemplos de codificación son muy útiles en cualquier momento.

List<Thread> threads = new List<Thread>(); for (int i = 0; i < 10; i++) { Thread t = new Thread(delegate() { do { Thread.Sleep(50); } while (true); }); t.IsBackground = true; t.Name = i.ToString(); t.Start(); threads.Add(t); } foreach (Thread t in threads) { Console.WriteLine(t.Name); }


Sospecho que tendrías que poner los hilos en un Dictionary<string,Thread> para que funcione, pero ¿por qué lo quieres de todos modos? Generalmente hay otras formas de comunicación entre hilos (cualquiera de los objetos de bloqueo / espera).

Para trabajar en el nivel de proceso (es decir, sin pensar en el objeto Thread ), consulte aquí ; podría limitarlo al proceso actual, pero no podrá interactuar con el hilo.


Tenga en cuenta también que los nombres de subprocesos no son necesarios para ser únicos. Parece que usar la identificación del hilo podría ser una mejor opción ...