Как остановить поток при закрытии программы - C#

Узнай цену своей работы

Формулировка задачи:

Добрый день
        private void Form1_Load(object sender, EventArgs e)
        {
            Thread t = new Thread(WriteY);
            t.Start();            // Выполнить WriteY в новом потоке

        }
 
        public void WriteY()
        {
              //тело
        }
 
        private void Form1_FormClosing(object sender, FormClosingEventArgs e)
        {
            // вот здесь нужен код останавливающий поток
        }

Решение задачи: «Как остановить поток при закрытии программы»

textual
Листинг программы
        bool closing;
        Thread t;
        private void Form1_Load(object sender, EventArgs e)
        {
            t = new Thread(WriteY);
            t.Start();            // Выполнить WriteY в новом потоке
           
            
        }
 
        public void WriteY()
        {
              while (!closing)
              {
                 //тело
              }
        }
 
        private void Form1_FormClosing(object sender, FormClosingEventArgs e)
        {
             closing = true;
            t.Join();
        }

ИИ для рефератов и докладов


  • Экспорт Word по ГОСТу
  • Минимум 80% уникальности текста
  • Поиск релевантных источников в интернете
  • Готовый документ за 2 минуты

Оцени полезность:

11   голосов , оценка 4.091 из 5
Похожие ответы