Thread[] s=new Thread[10];
开启线程
private void button1_Click(object sender, EventArgs e)
{
int selIndex = this.listBox1.SelectedIndex;
s[selIndex] = new Thread(new ParameterizedThreadStart(aas)); s[selIndex].Start(selIndex );
}//结束线程
private void button3_Click(object sender, EventArgs e)
{
int selIndex = this.listBox1.SelectedIndex;
s[selIndex].Abort();
}结束selIndex线程后,再点击启动线程也启动不了了。。怎么解决。。
开启线程
private void button1_Click(object sender, EventArgs e)
{
int selIndex = this.listBox1.SelectedIndex;
s[selIndex] = new Thread(new ParameterizedThreadStart(aas)); s[selIndex].Start(selIndex );
}//结束线程
private void button3_Click(object sender, EventArgs e)
{
int selIndex = this.listBox1.SelectedIndex;
s[selIndex].Abort();
}结束selIndex线程后,再点击启动线程也启动不了了。。怎么解决。。
如果你只是暂时暂停的就用阻止。
或者循环休眠。
或者直接重新New线程
new
什么叫复活呢?
{
int selIndex = this.listBox1.SelectedIndex;
s[selIndex] = new Thread(new ParameterizedThreadStart(aas)); s[selIndex].Start(selIndex );
}new Thread这里又new了呀。。
在调用此方法的线程上引发 System.Threading.ThreadAbortException,以开始终止此线程的过程。调用此方法通常会终止线程。
不知道你的New方法是不是搞错了
我是没给Start参数过
一般线程方面 有些时候要的参数虽然看是object实际上必须是引用类型比如lock()
当你使用多线程时,让线程自己去控制自己的所有资源,包括它的生命周期