我需要终止一个冻结的线程,我将IsBackground设置为true但它仍然存活.线程的属性:
ThreadState = AbortRequested
IsBackground = true
当我检查冻结点时,我找到以下行:
resultDetect = Detect(input, ref output);
Run Code Online (Sandbox Code Playgroud)
该点是第三方代码(方法检测).线程仅在您看到时更新resultDetect.我需要中止该线程并重新启动一个新线程才能继续.否则,应用程序等待并且不执行任何操作 - 新结果需要 -
如何杀死不死的线程?
只有一种方法可以安全地终止应用程序中的挂起线程:Environment.Exit 如果线程正在运行内核代码,那么即使这样也可能会失败。
最好不要使用挂起的第三方代码。如果您别无选择,请在单独的进程中运行它。