Завершить поток - C#
Формулировка задачи:
Здравствуйте. подскажите, как правильно остановить и завершить поток.
В приложении WPF в одной кнопке выполняется следующий код
Нужно чтобы после выполнения кода поток завершался и чтобы была другая кнопка, при нажатии на кнопку поток принудительно останавливался.
private void Go_Click(object sender, RoutedEventArgs e) { (new Thread(delegate () { //код })).Start(); }
Решение задачи: «Завершить поток»
textual
Листинг программы
/// <summary> /// Поле для потока периодических запросов статуса пользовательской задачи /// </summary> private Thread threadTaskCircler; /// <summary> /// Метод изменения флага периодического опроса пользовательской задачи /// </summary> /// <param name="circler">значение флага опроса</param> private void TaskCirclerModed(bool circler) { if (!circler) { //если произошел сброс флага.. if (threadTaskCircler != null) //..если поток существует.. if (threadTaskCircler.IsAlive) //....если поток жив.. threadTaskCircler.Abort(); //......прерывание потока } else { //если произошла установка флага.. if (threadTaskCircler != null && threadTaskCircler.IsAlive) //..если поток существует и выполняется.. return; //....прерывание работы метода threadTaskCircler = new Thread(TaskProcessing); //..создание потока периодического опроса threadTaskCircler.Name = "Controller_Circler"; //..установка ему имени threadTaskCircler.IsBackground = true; //..завершение потока при закрытии программы threadTaskCircler.Start(); //..запуск потока } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д