Перезапуск приложения Windows формы - PullRequest
1 голос
/ 05 декабря 2010

У меня есть Windows-приложение C # 4.0 с проблемой многопоточности, когда я закрываю приложение, процесс остается включенным, независимо от того, что я делаю, я должен сделать это:

environment.exit(1);

или процессне может закрыться,

проблема в том, что если я выполнил environment.exit (1), тогда application.restart () не сработает.

есть идеи, как убить процесс и затем перезапустить?1008 *

Ответы [ 4 ]

4 голосов
/ 05 декабря 2010

Используйте отладчик.После того, как вы закрыли свое главное окно, используйте Debug + Break All.Отладка + Windows + Темы.Посмотрите на стек вызовов потоков, которые вы видите в списке, чтобы найти тот, который препятствует завершению программы.

3 голосов
/ 05 декабря 2010

Убедитесь, что все ваши рабочие потоки работают в фоновом режиме (установите IsBackground в значение true перед их запуском). Фоновые потоки не препятствуют завершению процесса.

0 голосов
/ 06 октября 2014

Вы можете полностью выйти из приложения, набрав:

Application.Exit();

Для полного перезапуска приложения:

Application.Restart();
0 голосов
/ 05 декабря 2010

потоков, которые создает ваше приложение, должны быть прерваны перед выходом из приложения, в противном случае ЦП и / или память будут заняты зависающими потоками

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...