многопоточная регулировка синхронизации - PullRequest
0 голосов
/ 04 августа 2020

В VB. net я использую циклы для многопоточной настройки времени (когда я не могу предсказать, когда событие произойдет в этом другом потоке). Другой поток ожидает ответа от устройства, подключенного через последовательный порт. Когда данные доступны, я могу узнать о результатах, используя Invoke и Delegate. Основная часть кодов выглядит примерно так:

data = SerialPort1.ReadExisting()
Invoke( New Delegate_RcvDataToTextBox( AddressOf Me.RcvDataToTextBox ), args )

С другой стороны, основной поток ждет и опрашивает другой поток, используя do-l oop. Этот l oop состоит из операторов do l oop, DoEvents() и if. Я бы хотел избежать такого сочетания, т.е. do -l oop и DoEvents. Какого рода обучение мне нужно для этого?

do 
 system.....DoEvents()
 if data.isnothing = false then...
loop while (1)
...