Как использовать метод приостановки и возобновления в Vb.net?

1

Я хочу знать о методе потоков Vb.net

В моей программе поток работает, когда я получаю данные на другом устройстве

И я хочу приостановить поток, когда я нажимаю кнопку остановки, но нет поддерживаемого метода suspend() и resume(). Как его использовать?

(Я искал информацию о приостановке потока, но все используют метод suspend в своей программе)

Теги:

1 ответ

0
Лучший ответ

Вы должны сказать, что поток приостановлен или возобновлен. Выполнение этого из-за пределов потока могло бы сломать его, поэтому эти типы операций не поддерживаются.

Теперь, как вы отправляете сообщение в поток? Существует несколько способов, но, возможно, самым простым является использование пары объектов AutoResetEvent (http://msdn.microsoft.com/en-us/library/system.threading.autoresetevent(v=vs.110). aspx). Первый объект используется для сообщения о необходимости приостановки рабочего потока. Второй объект используется, чтобы сигнализировать о том, что он должен возобновиться. Рабочий поток должен либо ждать, либо периодически проверять событие, чтобы определить, нужно ли его приостанавливать. Когда он делает паузу, он сразу же начинает ждать второго объекта события. Когда основной поток определил, что он готов возобновить рабочий поток, он сигнализирует второй объект события, который просыпает рабочий поток.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню