调用abort();和join();之后,线程并没有立即终止,考虑通过回调机制试下
sleep一下
System.Threading.Thread.Sleep(100000);
为什么要调用abort()还要调用join()呢?直接调用abort()就行了啊
//终止thread1线程
thread1.Abort();
//主线程挂起等待,直到thread1完全终止
thread1.Join();
//thread1线程已终止,主线程继续执行
Abort执行后线程并没有立即结束,线程在被终止之前立即进入AbortRequested状态,所以才会有你遇到的问题“线程正在运行或未被终止;它无法重新启动。”
建议“在触发事件重新开启线程”前调用Join等待线程真正终止。
在abort之后线程销毁了,重新开启线程的时候没有从新实例,导致的。。(我记得我有重新实例。)。最烦这种问题了。有没有写过这代码都忘了。。。