Можно ли запустить метод в главном потоке из отдельного потока? - PullRequest
0 голосов
/ 31 декабря 2010

Я читаю данные с последовательного порта, но событие DataReceived SerialPort обрабатывается в его собственном потоке. Я хочу обработать это в основном потоке, но простое объявление события и его повышение все равно приводит к его обработке в потоке SerialPort. Я предполагаю, что мне нужно объявить делегата, которого я могу вызвать, но я не понимаю, как это будет работать.

Например, я хочу вызвать Sub HandleDataReceived () в главном потоке из потока DataReceived, запустив HandleDataReceived () в основном потоке. Как бы я это сделал?

1 Ответ

1 голос
/ 31 декабря 2010

Если основной поток является потоком пользовательского интерфейса, вы можете использовать его SynchronizationContext или вызвать Control.BeginInvoke.

...