【发布时间】:2025-11-26 00:25:01
【问题描述】:
我正在用 C# 创建一个非常简单的 WinForm 应用程序。除了形式之外什么都没有。没有其他代码。当我点击暂停并查看 Visual Studio 中的线程窗口时,我看到了 3 个线程。 1 个主线程和 2 个工作线程(用于可能是 GC 或 JIT)
当我在应用程序运行时打开任务管理器时,我看到应用程序有 14-16 个线程。我不明白是什么在创建这些其他线程。谁能帮忙?
【问题讨论】:
-
一个不退出的表单有一个块。主要在 Program.cs 中,它调用主要的表单构造函数。主窗体继承了包含块的窗体。它还启动一个后台进程,该进程管理诸如单击事件之类的事件。所以你有 1) 主类 2) 表单类 3) 事件处理程序。
-
能否请您将您的任务管理器截屏并附在此处?我检查了一下,它只有 1 个线程。
-
这感觉像是一个 XY 问题 - meta.stackexchange.com/questions/66377/what-is-the-xy-problem。你为什么在乎?您的根本问题是什么?
-
托管线程和操作系统线程之间没有一对一的映射关系,对于需要分析应用程序的开发人员来说,任务管理器并不是一个理想的工具。我选择相信 Visual Studio。
-
添加截图。我喜欢@lesscode 的答案,我会以这种方式进行调查。
标签: c# multithreading taskmanager