我有一个程序,即使已经完全处理了调用堆栈,它也会显示<Not Available>
(like this)。所以我开始调试冻结所有其他线程并完全运行线程,发现它有一个空的调用堆栈,它仍然存在,并在Visual Studio的线程窗口中显示<Not Available>
。
所以我的第一个问题是,托管线程的生命周期究竟是什么(不是垃圾收集处理的线程对象)?
我的第二个问题是如何让这个线程被销毁(AKA到对象的垃圾收集)。尝试GC.collect()
,但显然垃圾收集器不处理CLR实现的托管线程。
注意我已经完成了
谢谢!
这是关于普通线程而不是从线程池中获取的工作线程。
更新 - 我在主线程中添加了一个线程休眠,然后在此之后添加了一个断点,发现线程已经被破坏了....我想知道这是如何工作的。< / p>