未引用的Thread对象配置

时间:2010-03-11 05:08:41

标签: c# multithreading dispose

如果我使用这样的线程:

void foo()
{
new Thread().Start();
}

由于没有引用Thread对象,它会在指定的工作完成之前由GC处理吗?

2 个答案:

答案 0 :(得分:2)

线程应保持活动状态,直到其方法返回。

退房:What prevents a Thread in C# from being Collected?

答案 1 :(得分:2)

From MSDN

  

没有必要保留一个   一旦你引用了Thread对象   已经开始了这个主题。线程   继续执行直到线程   程序完成。


System.Threading.Thread类实际上只用于簿记/管理。它不是创建/维护线程的实际机制。这由运行时管理,并且是特定于CLI的实现(例如,Mono实现在线程管理方面可能会有很大差异。)