“Hello world”应用程序在.NET4.0中使用4个线程,但在.NET2.0中使用3个线程

时间:2012-02-22 16:30:27

标签: c# .net multithreading .net-4.0

当运行最基本的“Hello,World!”时为.NET2.0编译的应用程序,您应该看到3个线程(Main,GC和Finalizer)。但是,对于.NET4.0版本,使用相同的基本应用程序,该数字最多可达4。有谁知道额外的线程是什么?

1 个答案:

答案 0 :(得分:0)

默认情况下,线程池保持空闲线程,因为.NET4 (如MSDN points it)。 我无法找到他们的数字是如何指定的(尽管你可以用SetMinThreads改变它),它可能不是。

这篇dotNetPerls文章表明它还取决于机器上的核心数量(这是有意义的)。

您可以在您的机器/特定程序上测试,以使用两个CLR打印ThreadPool.GetMinThreads()。