Процесс подачи заявки не заканчивается, когда я закрываю форму? (С#)

Экспериментировал с классом TcpClient и TcpListener и почему-то когда у меня работает пара потоков и я закрываю форму процесс не заканчивается но форма исчезает.

Мне нужно вручную убить процесс с помощью VS IDE или диспетчера задач.

Ничего в форме по-прежнему не работает, насколько я могу судить, когда я закрываю программу, но процесс не заканчивается. Я везде вставляю точки останова, и даже вывод консоли говорит, что потоки завершились.

Кто-нибудь знает, что здесь происходит?


person Kyle Price    schedule 17.09.2011    source источник


Ответы (1)


Основной поток вашего приложения ожидает завершения созданных вами потоков. Вы можете установить для свойства IsBackground ваших потоков значение true, чтобы они не мешали завершению вашего процесса:

Из MSDN:

Поток является либо фоновым потоком, либо потоком переднего плана. Фоновые потоки идентичны активным потокам, за исключением того, что фоновые потоки не предотвращают завершение процесса. Как только все потоки переднего плана, принадлежащие процессу, завершены, общеязыковая среда выполнения завершает процесс. Любые оставшиеся фоновые потоки останавливаются и не завершаются.

person BrokenGlass    schedule 17.09.2011