Как окно потоков Visual Studio определяет «основной поток»

, я, вероятно, упускаю что-то очевидное, но послушайте меня ...

Мне всегда нравится называть важные темы в своих приложениях, поскольку это полезно при отладке / ведении журнала и т. Д. Если вы запросите имя основного потока через Thread.CurrentThread.Name при запуске программы, вы вернетесь null . Таким образом, я всегда гарантирую, что первое, что произойдет, - это то, что основному потоку (и любым другим соответствующим потокам) будет присвоено красивое значимое имя для использования в будущем.

Я никогда особо не задумывался об этом до сегодняшнего дня, но когда я смотрел в окно потоков в Visual Studio (до того, как были назначены имена потоков и т. Д.), Назначается специальная категория «Главный поток», а также псевдо-имя, которое также читает «Главный поток» (но это не настоящее имя потока).

С управляемой точки зрения .NET не предоставляет ничего значимого ни в System.Threading.Thread , ни в Система. Диагностика. ProcessThread , который идентифицирует основной поток приложения (по крайней мере, что я мог видеть). Я просмотрел список функций процессов и потоков Windows и снова не увидел ничего очевидного (возможно, OpenThread?).

Любопытно, знает ли кто-нибудь, как окно потоков назначает особую категорию " Основная тема »?

7
задан Chris Baxter 3 February 2011 в 20:45
поделиться