【发布时间】:2011-06-20 22:47:33
【问题描述】:
我可能遗漏了一些明显的东西,但请幽默...
我总是喜欢为我的应用程序中的重要线程命名,因为它对调试/日志记录等很有用。如果您在程序启动时通过Thread.CurrentThread.Name 查询主线程的名称,您将返回null。因此,我始终确保发生的第一件事是为主线程(和任何其他相关线程)分配一个很好的有意义的名称以供将来参考。
直到今天我才真正考虑过它,但是当查看 Visual Studio 中的线程窗口时(在分配任何线程名称之前等),分配了一个特殊类别“主线程”以及一个伪名称读取“主线程”(但这不是实际的线程名称)。
从托管的角度来看,.NET 不会在 System.Threading.Thread 或 System.Diagnostics.ProcessThread 上公开任何有意义的东西来标识应用程序的主线程(至少我可以看到)。我查看了Windows Process and Thread Functions 的列表,再一次,我没有看到任何明显的东西(也许是 OpenThread?)。
想知道是否有人知道“线程”窗口如何分配特殊类别“主线程”?
【问题讨论】:
标签: .net visual-studio multithreading debugging