在我的C#代码中有一个主窗口,它启动多个线程。这些线程中的一些会导致消息框显示。当我关闭主窗口时,我需要所有线程,我开始安全地中止。我尝试通过将线程添加到列表然后中止它们。但每次抛出ThreadAbort异常。 请建议我这样做的方法
答案 0 :(得分:2)
Thread.Abort
的目的是提升ThreadAbortException
。这会杀死线程。
Thread.Abort方法
在调用它的线程中引发ThreadAbortException,以开始终止线程的过程。调用此方法通常会终止该线程。
使用Thread.Abort
不会以干净的方式终止线程。停止线程的常用安全解决方案是在该线程上创建一个volatile bool
停止标志,您的线程会不时检查该标志是否应该停止。