2016-06-07 2 views
3

У меня есть приложение, которое в основном только работает Main и выход (консольное приложение, Visual Studio 2015), но если я поставил точку останова в основном, и посмотреть на резьбе, я вижу следующее:Что делают не основные потоки после запуска приложения C#?

Threads

Я вижу, что эти потоки происходят из разных процессов, почему они показаны, а не другие? Каким образом они связаны с моей программой на C#? И в каких случаях было бы полезно узнать, что делают эти потоки?

+1

Какое приложение это приложение? Консольное приложение? Приложение Windows Form? – JasonNew

+0

Вы можете просмотреть активность потока в Profiler в VS 2015. – VMAtm

ответ

5

Все приложения Windows имеют насос сообщений WndProc для ОС Windows для связи с вашим приложением. Кроме того, для всех приложений .net есть хотя бы поток Finalizer GC, чтобы уничтожить все классы, которые вы создаете. vsHost - это хост отладчика VS.net, который обертывает ваше приложение и обрабатывает IO данных отладки и отслеживания.

+0

И последние две строки '' - это, вероятно, потоки потоков, созданные с началом программы. –

+0

Что делает нить с ID 0 (или сделала)? И почему нет нити GC Finalizer? – ProgrammerAtWork

+1

@ProgrammerAtWork '0' thread может скомпилировать ваше приложение или запустить его. Один из неназванных потоков может быть потоком финализатора, другой может быть потоком GC. – VMAtm

Смежные вопросы