私は中止()...NETでスレッドを再起動
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";
}
}
任意のアイデアによって停止されたスレッドを再起動する方法を探しています(C#を使用して)?
この回答は実際の回答よりも回避策です。 – Trap
プログラミングの初心者のときにも同様の問題がいくつか起きていましたが、私はGrooのような多くのソリューションを読んでいました。はい、あなたは完全に正しいですが、私の解決策は回避策に過ぎません。しかし、プログラミングが新時代に理解するには、グルーオが説明するメカニズムが複雑すぎます。簡単な答えを提供する方が良いでしょう。回避策)は経験の豊富ではないプログラマーのために。 – Emiswelt
これは悪いプログラマーを作るものです。彼らは彼らが何をしているのかを理解するのに十分な時間を投資しません。あなたのスレッドをきれいにするつもりです。あなたがいなくなったら混乱しますか? –