我在窗体定义了一个全局变量Thread myThread;然后写了三个如下的方法,并开启线程执行。然后用三个Button的单击事件分别调用。请问能否用第四个Button的单击事件终止这三个其中的任意一个?我用myThread.Abort()好像不行.public void Test01
{
  ……
}public int ExecTest01()
{
  myThread = new Thread(new System.Threading.ThreadStart(Test01));
  myThread.Start();
  return 0;
}private void button1_Click(……)
  Test01();
}
其余两个以此类推。

解决方案 »

  1.   

    myThread.Abort()应该可以吧,只是没有那么迅速,需要由OS来调度,一般都要稍等一下。
      

  2.   

    up,第四个Button4_click事件:
    try
    {
      myThread.Abort();
    }
    catch(Exception e)
    {
      ......
    }
    我如过直接点第四个按钮,那么报“未将对象引用设置到对象实例”。如果先点击1-3的其中一个按钮,再点击第四个,就不报错,但是不知道是不是把线程终止了?
      

  3.   

    up,第四个Button4_click事件:
    try
    {
    if (nul!= myThread)
    {
      myThread.Abort();
      myThread = null;
    }
    }
    catch(Exception e)
    {
      ......
    }
      

  4.   

    try
    {
      myThread.Abort();
      myThread.Join();
    }
    catch(Exception e)
    {
      ......
    }