Завершить поток при выключении программы - 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) { ... }
}