Задать вопрос
@Rhapsody

Как завершить поток, в котором прослушивается порт

Есть приложение, на кнопку "Старт" в отдельном потоке прослушивается порт. Необходимо на кнопку "Стоп" приостановить поток. Проблема в том что там while(true) и при вызове метода Thread.Abort() происходит взамиблокировка. Подскажите пожалуйста как решить эту проблему.
  • Вопрос задан
  • 2353 просмотра
Подписаться 3 Оценить Комментировать
Помогут разобраться в теме Все курсы
  • Skillfactory
    Профессия C#-разработчик
    12 месяцев
    Далее
  • Merion Academy
    C# разработчик с нуля
    4 месяца
    Далее
  • Stepik
    PRO C#. Профессия "Backend разработчик"
    4 месяца
    Далее
Пригласить эксперта
Ответы на вопрос 2
Зачем используете именно Thread? Почему не BackgroundWorker с while (!worker.CancellationPending)?
Ответ написан
Комментировать
@Sumor
Abort не прерывает исполнение потока, а лишь сообщает ему, что кто-то хочет его прервать.

Замените while(true) на while(Thread.CurrentThread.ThreadState & (ThreadState.AbortRequested)
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы