c#Thread Lifetime and Disposal

时间:2015-12-25 10:55:13

标签: c# multithreading garbage-collection

我有一个程序,即使已经完全处理了调用堆栈,它也会显示<Not Available> (like this)。所以我开始调试冻结所有其他线程并完全运行线程,发现它有一个空的调用堆栈,它仍然存在,并在Visual Studio的线程窗口中显示<Not Available>

  • 所以我的第一个问题是,托管线程的生命周期究竟是什么(不是垃圾收集处理的线程对象)?

  • 我的第二个问题是如何让这个线程被销毁(AKA到对象的垃圾收集)。尝试GC.collect(),但显然垃圾收集器不处理CLR实现的托管线程。

注意我已经完成了

  • Thread Object Lifetime(&lt; - Thread Object,而非thread)和
  • Killing Thread(&lt; - 杀死或终止正在运行的线程,我对已经完成的线程感兴趣,有一个空调用堆栈),还有一些类似的其他线程......

谢谢!

这是关于普通线程而不是从线程池中获取的工作线程。

更新 - 我在主线程中添加了一个线程休眠,然后在此之后添加了一个断点,发现线程已经被破坏了....我想知道这是如何工作的。< / p>

0 个答案:

没有答案