What does that method do exactly? I was thinking that it maybe went out into a separate thread, but handled things like control updating on the correct thread. But now I am starting to think that it maybe just runs on the UI thread. Which means that calling BeginInvoke on a control from the UI is pretty much the same as calling Invoke? Or?
Share
It basically adds the delegate to a queue of “tasks to execute”. The UI thread runs those tasks in order.
The difference between
Control.InvokeandControl.BeginInvokeis basically thatControl.Invokeblock the worker thread until the task has executed on the UI thread, whereasBeginInvokedoesn’t. I’m not sure offhand whether there’s any difference betweenBeginInvokeandInvokewhen you call it from the UI thread.