В 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)