Завершить поток при выключении программы - C#
Формулировка задачи:
В Windows Forms по нажатии на кнопку создаю экземпляр класса который создает новый поток и выполняет в нем работу в бесконечном цикле.
При выключении основной программы поток продолжает работать.
Как обнаружить что основной поток уже не работает?
Листинг программы
- public void Start()
- {
- thread = new Thread(
- () =>
- {
- Initiate();
- LoopForever();
- }
- );
- thread.Start();
- }
Решение задачи: «Завершить поток при выключении программы»
textual
Листинг программы
- private bool WriteReports = true;
- private Thread ReportThread = null;
- public void Start()
- {
- Thread reportThread = new Thread(LoopForever);
- reportThread.Start();
- ReportThread = reportThread;
- }
- public void Stop()
- {
- WriteReports = false;
- ReportThread.Join();
- }
- private void LoopForever()
- {
- while (WriteReports) { ... }
- }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д