【发布时间】:2008-12-24 04:34:33
【问题描述】:
或者这样可以吗:
new Thread( new ThreadStart( delegate { DoSomething(); } ) ).Start();
?
我似乎记得在这种情况下,线程对象将被垃圾收集,但底层操作系统线程将继续运行,直到传递给它的委托结束。我基本上是在寻找 ThreadPool 功能,但不希望线程成为后台线程(即我希望它们保持应用程序处于活动状态)。
更新:
根据 Jason 的说法,CLR 在运行时实际上保留了对 Thread 对象的内部引用,因此在线程退出之前不会被垃圾回收。
【问题讨论】:
-
一种思考方式,“如果对象不存在,孤立线程中的执行逻辑如何能够调用 System.Threading.Thread.CurrentThread?”
-
Jason,您假设有人会首先考虑尝试进行测试。 ...我的意思是我当然会嘿...嘿...呃... =(
标签: c# multithreading reference