如果一个线程被Abort了,还能不能重新Start RT 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 这个不一定的 你先看下MSDN 上对abort方法的介绍 调用此方法后线程不一定或者根本不中止如果成功中止那就可以重新start 了如果没中止掉就start 的话提示异常:线程正在运行或被终止;它无法重新启动。 不能,当调用Thread.Abort()后,即永久的终止了线程,当再调用Start()时,会引发ThreadStateException异常. 只有当该线程是被其他的线程通过调用Thread.Interrupt()或者Thread.Abort()方法,才能被唤醒。如果对处于阻塞状态的线程调用Thread.Interrupt()方法将使线程状态改变,但是会抛出ThreadInterupptedException异常 if(th.IsAlive){ th.Abort();} deknight 正确的 支持。。 所谓的唤醒就是Thread.Start吧? 看看我写的代码。结束A线程后,再开始的话,弹出“线程正在运行或被终止;它无法重新启动” private void a() { while (true) { if (formclosed == true) break; listBox1.Items.Add("A:"); } } private void Form1_Load(object sender, EventArgs e) { A = new Thread(new ThreadStart(this.a)); } private void button1_Click(object sender, EventArgs e) { A.Start(); } private void button2_Click(object sender, EventArgs e) { if (A.IsAlive) A.Abort(); } Thread.IsAlive 判断线程是否处于活动状态 不行,要重新new。要记住线程的概念,什么是线程:运行的方法就叫线程。 谁有项目找我来做 数组查找特定字符所在下标 使用C#从数据库中提取数据生成文本文件 制作安装文件时需要根据用户输入修改xml文件,怎么实现???() 如何计算一张图片里的红色像素的个数 那些wint\$打头的隐藏文件夹有什么用?能删除吗 C#多核编程 我是新人,问对高手是很简单的问题,c#编写web时连数据库的情况。 C++代码转为C# 我写的控制台程序,编译没有问题,用F5可以看到输出,但“执行(不调试)”什么也没有,在DOS和WINDOWS下也是一样,怎么回事? Internal connection fatal error 高手进来看看 stning进来拿答谢分啦
你先看下MSDN 上对abort方法的介绍
调用此方法后
线程不一定或者根本不中止
如果成功中止
那就可以重新start 了
如果没中止掉就start 的话
提示异常:线程正在运行或被终止;它无法重新启动。
if(th.IsAlive)
{
th.Abort();
}
正确的
支持。。
private void a()
{
while (true)
{
if (formclosed == true)
break;
listBox1.Items.Add("A:");
}
}
private void Form1_Load(object sender, EventArgs e)
{
A = new Thread(new ThreadStart(this.a));
}
private void button1_Click(object sender, EventArgs e)
{
A.Start();
} private void button2_Click(object sender, EventArgs e)
{
if (A.IsAlive)
A.Abort();
}
要记住线程的概念,什么是线程:运行的方法就叫线程。