杀死线程,真的!

Nim*_*oud 5 c# multithreading

我需要终止一个冻结的线程,我将IsBackground设置为true但它仍然存活.线程的属性:

ThreadState = AbortRequested

IsBackground = true

当我检查冻结点时,我找到以下行:

resultDetect = Detect(input, ref output);
Run Code Online (Sandbox Code Playgroud)

该点是第三方代码(方法检测).线程仅在您看到时更新resultDetect.我需要中止该线程并重新启动一个新线程才能继续.否则,应用程序等待并且不执行任何操作 - 新结果需要 -

如何杀死不死的线程?

Ben*_*igt 4

只有一种方法可以安全地终止应用程序中的挂起线程:Environment.Exit 如果线程正在运行内核代码,那么即使这样也可能会失败。

最好不要使用挂起的第三方代码。如果您别无选择,请在单独的进程中运行它。