我试图弄清楚每个新的c#应用程序中出现的线程的目的是什么。 我创建了一个具有空主函数的新控制台应用程序:
static void Main(string[] args)
{
}
并在函数末尾添加一个断点,然后我查看了线程窗口:
有时会显示8个主题,有时会显示7个主题。
任何人都可以解释所有这些线程的目的是什么,为什么我需要它们用于这样一个简单的项目?
答案 0 :(得分:6)
简而言之,这些额外的线程与GC,Finalizer,VS和Debugger相关。以下链接为您的问题提供了更详细的答案:
答案 1 :(得分:2)
首先,我认为我们需要了解什么是线程?
主题:
线程使您的程序能够执行并发处理,以便您可以一次执行多个操作。例如,您可以将繁重的图像加载到应用程序中,执行后台任务,此时您可以处理流式传输到文件。
如果您不使用线程 - 那么当您将图像加载到您的应用程序时,您的UI就会被卡住,因此您无法执行任何其他操作,只需等待图像完成加载。
那么为什么我们的应用程序从7-8个线程开始呢?
让我们看看我们有哪些主题:
默认情况下,C#程序有一个线程。该线程执行程序中以Main方法开始和结束的代码。
你还有一个垃圾收集器线程,负责在生命周期结束时杀死对象。
还有一些调试线程。