这篇文章主要为大家展示了“一个.NET程序在运行时到底启动了多少个线程”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“一个.NET程序在运行时到底启动了多少个线程”这篇文章吧。
在天河等地区,都构建了全面的区域性战略布局,加强发展的系统性、市场前瞻性、产品创新能力,以专注、极致的服务理念,为客户提供成都网站建设、成都网站设计 网站设计制作定制网站,公司网站建设,企业网站建设,品牌网站设计,营销型网站,成都外贸网站制作,天河网站建设费用合理。问:一个.NET程序在运行时到底启动了多少个线程?
答:至少3个。
1.启动CLR并运行Main方法的主线程
2.调试器帮助线程
3.Finalizer线程
复制代码 代码如下:
class Program
{
static void Main(string[] args)
{
Console.WriteLine("Main thread: {0}",
Thread.CurrentThread.ManagedThreadId);
Console.ReadKey();
}
}
通常,CLR会根据情况启动更多的特殊线程。
•Finalizer线程:该线程负责运行GC进行垃圾对象回收。
•并发的GC线程:GC会根据情况启动更多的线程并发进行垃圾回收。
•服务器GC线程:在服务器GC模式下,CLR可能会为多核机器的每个核创建GC托管堆和回收线程。
•调试器帮助线程:该线程负责为类似WinDbg等调试器提供帮助。
•AppDomain卸载线程:CLR可能会启动一个工作线程来卸载应用程序域。
•ThreadPool线程:ThreadPool会根据情况创建线程。
以上是“一个.NET程序在运行时到底启动了多少个线程”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注创新互联行业资讯频道!