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

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

Есть приложение, на кнопку "Старт" в отдельном потоке прослушивается порт. Необходимо на кнопку "Стоп" приостановить поток. Проблема в том что там while(true) и при вызове метода Thread.Abort() происходит взамиблокировка. Подскажите пожалуйста как решить эту проблему.
  • Вопрос задан
  • 2353 просмотра
Подписаться 3 Оценить Комментировать
Помогут разобраться в теме Все курсы
  • Stepik
    Профессия "C# разработчик"
    1 неделя
    Далее
  • XYZ School
    C# для разработки игр
    5 месяцев
    Далее
  • Учебный центр IBS
    DEV-001_NET Шаблоны проектирования GoF. Редакция для .NET
    1 неделя
    Далее
Пригласить эксперта
Ответы на вопрос 2
Зачем используете именно Thread? Почему не BackgroundWorker с while (!worker.CancellationPending)?
Ответ написан
Комментировать
@Sumor
Abort не прерывает исполнение потока, а лишь сообщает ему, что кто-то хочет его прервать.

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

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

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