Soy un principiante en C#. Tengo un programa que lanzará varios hilos dentro de una aplicación de Windows. Mi objetivo es comenzar un nuevo hilo para cada elemento dentro de una lista. Los elementos en esta lista son nombres de estaciones de trabajo en una red. Cada hilo que se crea buscará hacer reparaciones en cada máquina, cuando el hilo haya terminado escribirá en un archivo de registro cualquier error encontrado, etc. Pero lo que quiero poder determinar es cuándo terminaron todos los hilos. Entonces, si tengo 100 máquinas, 100 hilos, ¿cómo puedo determinar cuándo se han cerrado todos?Determinar cuándo terminaron todos los hilos C#
Heres mi método a continuación: -
private void repairClientsToolStripMenuItem_Click(object sender, EventArgs e)
{
if (machineList.Count() != 0)
{
foreach (string ws in machineList)
{
new Thread(new ParameterizedThreadStart(fixClient), stack).Start(ws);
}
}
else
{
MessageBox.Show("Please import data before attempting this procedure");
}
}
posible duplicado de [Espere dos hilos para finalizar] (http://stackoverflow.com/questions/594230/wait-for-two-threads-to-finish) –
Hay un buen método para Tareas, 'Tarea. WaitAll' (http://msdn.microsoft.com/en-us/library/dd270695.aspx). Por supuesto, si tiene que usar hilos, eso no ayudará. – phg
También recomiendo que empiece a usar la biblioteca de Tarea paralela. – vtortola