Как убить Thread при выходе?
Для запуска потока используется кнопка в родительской форме.
Если родительская форма закрыта в среде разработки, поток продолжает работать в фоновом режиме, предотвращая редактирование исходного кода на 64-битной платформе Windows 7.
Поток должен быть убит Menu > Debug > Stop Debugging.
Каков надлежащий способ программного уничтожения потока при закрытии родительской формы?
private void buttonW_Click(object sender, EventArgs e)
{
Thread t = new Thread(Main.MyThread);
t.Start();
}
private static void MyThread()
{
...
}
Ответы
Ответ 1
Если вы хотите, чтобы приложение завершило работу с завершением основного потока, вы можете просто создать новый поток в фоновом потоке:
Thread t = new Thread(Main.MyThread);
t.IsBackground = true;
t.Start();
В основном процесс завершится, когда все потоки переднего плана выйдут.
Обратите внимание, что это может быть плохая новость, если фоновый поток записывает файл, когда форма закрыта, или что-то подобное...