我有以下代码:
new Thread(new ThreadStart(delegate()
{
// something short
})).Start();
垃圾收集器可以在Thread
状态下完成此Stopped
实例吗?
这个帖子的生命周期是:
Before Started
Running
Stopped
当这个Thread
将结束他们的工作时,这将由垃圾收集器收集,或者他们将继续处理该线程,以便将来重新启动它们。
答案 0 :(得分:4)
线程终止后,系统不会引用Thread
实例。
无法重新启动已停止的Thread
实例。
答案 1 :(得分:2)
是。一旦:
Thread
对象的根提法。然后就可以收集了。你不会注意到,因为此时你没有引用该对象来检查它,它代表的线程上没有代码运行,并且永远不会有。
我想你可以拥有一个WeakReference
来保存对象的引用,当它的IsAlive
为假时,你就知道它已被收集了。你为什么要关心呢?