//终止thread1线程
thread1.Abort();
//主线程挂起等待,直到thread1完全终止
thread1.Join();
//thread1线程已终止,主线程继续执行
Abort执行后线程并没有立即结束,线程在被终止之前立即进入AbortRequested状态,所以才会有你遇到的问题“线程正在运行或未被终止;它无法重新启动。”
建议“在触发事件重新开启线程”前调用Join等待线程真正终止。
在abort之后线程销毁了,重新开启线程的时候没有从新实例,导致的。。(我记得我有重新实例。)。最烦这种问题了。有没有写过这代码都忘了。。。
原文地址:http://www.cnblogs.com/zhayunjia/p/3752924.html