这是在一个WinForm程序中,一个Button按钮的单击事件
private void button1_Click(object sender, EventArgs e)
{
Thread t = new Thread(new ThreadStart(Test));
t.Start();
this.button1.Enabled = false;
this.button2.Enabled = false;
}
private void t()
{
int i = 1;
……
}
当另外的线程启动后,会去执行t方法,当这个方法执行完后,这个线程是自动销毁吗?还是需要我另外写一个方法来不断查看这个线程是否执行完了,然后写代码把其销毁?
------解决方案--------------------------------------------------------
如果楼主怕线程没销毁可以在创建的时候加个线程名 然后存放到线程池里 在要销毁的时候循环线程池逐一销毁 如果是后台线程会在主线程结束的时候自动销毁
list<Thread> ThreadList=new list<Thread>//创建线程池
for(int i=0;i<100;i++) //建立线程
{ Thread newt = new Thread(方法);
newt.name = "Thread" + i.Tostring();
ThreadList.add(newt.name);
newt.start();
}
foreach(Thread t in ThreadList)//将线程池里的线程逐一拉出来销毁
{
t.abort();
}