use*_*346 6 .net c# multithreading .net-4.0
当运行最基本的"Hello,World!"时 为.NET2.0编译的应用程序,您应该看到3个线程(Main,GC和Finalizer).但是,对于.NET4.0版本,使用相同的基本应用程序,该数字最多可达4.有谁知道额外的线程是什么?
从 .NET4 开始,线程池默认保留空闲线程(正如MSDN 指出的那样)。我找不到它们的数量是如何指定的(尽管您可以使用 SetMinThreads 更改它),它可能不是。
这篇dotNetPerls文章表明,它还取决于机器上的核心数量(这是有道理的)。
您可以在您的机器/特定程序上进行测试,以使用两个 CLR 打印 ThreadPool.GetMinThreads()。