Я создал форму, которая запускает несколько фоновых потоков. Я добавил еще один класс, который обрабатывает исключения и ошибки, если таковые имеются. Когда код запускается, если возникает ошибка, которая должна заставить приложение закрыть, могу ли я использовать только Application.Exit()
? Убьет ли это и фоновые потоки?Does Application.Exit() убивает фоновые потоки?
ответ
Нет, не будет. Application.Exit() просто заставляет насос сообщений Windows отправлять сообщение Quit, которое завершит основной поток вашего приложения. Тем не менее, сам процесс будет продолжать работать до тех пор, пока не будут завершены фоновые потоки.
Обновление: как указатели правильно указали, если свойство IsBackground вашего потока установлено в True, завершение основного потока через Application.Exit() завершает процесс.
Другие потоки переднего плана будут препятствовать завершению процесса, а потоки фона - нет. – Servy
Вы уверены? Я думал, что * фоновые * потоки (то есть те, у которых есть 'IsBackground == true', не препятствуют завершению приложения и прекращают принудительное завершение при выключении. – CodesInChaos
Спасибо, поэтому не нужно беспокоиться, когда я использую Application.Exit все фоновые потоки будут terminate – Mohamed
Нет. Прекращение резьбы является совместным.
- 1. GetOpenFileName() убивает мои фоновые открытые потоки :(
- 2. фоновые потоки в JQuery,
- 3. iOS: Фоновые потоки/многопоточность?
- 4. Фоновые потоки в delphi
- 5. Фоновые потоки в WCF
- 6. Java EE и фоновые потоки
- 7. Убивает фоновые процессы, когда существует скрипт
- 8. Application.Exit
- 9. Tomcat8 убивает мои потоки при завершении работы
- 10. App Engine - фоновые потоки не работают
- 11. Фоновые потоки, не начинающиеся до выключения сервера
- 12. iOS быстрые фоновые потоки, блокирующие основную нить
- 13. Android CursorAdapters, ListViews и фоновые потоки
- 14. Как остановить фоновые потоки приложения в WebSphere
- 15. Темы, процессы и Application.Exit()
- 16. Does ConfigureAwait влияет только на потоковые потоки?
- 17. Does stream.close закрывает любые входящие потоки
- 18. Application.Exit не убил насос сообщений?
- 19. Application.Exit должен вызываться дважды
- 20. Application.Exit after Application.Run не работает
- 21. Приложение для Android, которое убивает фоновые процессы, чтобы сэкономить электроэнергию
- 22. ctrl-c убивает мои фоновые процессы в моей оболочке
- 23. Фоновые темы
- 24. Показать диалог после Application.Exit()
- 25. C# Application.exit не работает
- 26. TargetParameterCountException on Application.Exit
- 27. Application.Exit and End diffrence
- 28. Почему Application.Exit не работает?
- 29. Application.Exit вызывает событие FormClose
- 30. убивает все рабочие потоки, когда один поток нашел ответ (рубиновый)
http://stackoverflow.com/questions/3689564/threads-processes-and-application-exit – zimdanen
Вы хотите убить фоновые потоки или нет? – Servy
Кроме того, почему вы спрашиваете нас? Почему бы просто не запустить его и не увидеть сами. – Servy