Busco una forma de reiniciar un hilo que ha sido detenido por Abortar() ..Reinicio de un hilo en .NET (usando C#)
public partial class MyProgram : Form
{
private Thread MyThread = new Thread(MyFunction);
private System.Windows.Forms.Button startStopBtn = new System.Windows.Forms.Button();
public MyProgram()
{
MyThread.Start();
startStopBtn += new EventHandler(doStop);
startStopBtn.Text = "Stop";
}
private static void MyFunction()
{
// do something
}
private void doStop(object sender, EventArgs e)
{
MyThread.Abort();
startStopBtn -= new EventHandler(doStop);
startStopBtn += new EventHandler(doStart);
startStopBtn.Text = "Start";
}
private void doStart(object sender, EventArgs e)
{
MyThread.Start(); // << Error returned when clicking the button for 2nd time
startStopBtn -= new EventHandler(doStart);
startStopBtn += new EventHandler(doStop);
startStopBtn.Text = "Stop";
}
}
Alguna idea?
Esta respuesta es más una solución que una respuesta real. ni siquiera explica por qué tiene un error. Groo lo hizo bien. – Trap
Tienes razón, pero cuando era un principiante de programación, tuve varios problemas similares. Estaba leyendo muchas soluciones como la de groo, y sí, tiene toda la razón, mi solución es solo una solución alternativa. Pero los mecanismos que Groo describe son demasiado complejos para que yo los entienda en mi programación, en tiempos nuevos. Así que, creo que sería mejor proporcionar una simple "respuesta" (o solución) para un programador no tan experimentado. – Emiswelt
Esto es lo que hace que los programadores sean malos. No invierten suficiente tiempo para entender lo que están haciendo. o va a limpiar tu hilo. ¿Es un desastre cuando no estás? –