@Rhapsody

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

Есть приложение, на кнопку "Старт" в отдельном потоке прослушивается порт. Необходимо на кнопку "Стоп" приостановить поток. Проблема в том что там while(true) и при вызове метода Thread.Abort() происходит взамиблокировка. Подскажите пожалуйста как решить эту проблему.
  • Вопрос задан
  • 2352 просмотра
Пригласить эксперта
Ответы на вопрос 2
Зачем используете именно Thread? Почему не BackgroundWorker с while (!worker.CancellationPending)?
Ответ написан
Комментировать
@Sumor
Abort не прерывает исполнение потока, а лишь сообщает ему, что кто-то хочет его прервать.

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

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

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