Hi,
I cannot say anything about the documentation you are reading, but it is
fairly simple.
Control.BeginInvoke() executes the delegate from the UI thread.
BeginInvoke calls on delegates execute the delegate from a thread in the
thread pool. This is a standard asynchronous delegate call.
Regards,
- Bruce.
"Grandma Wilkerson" <(E-Mail Removed)> wrote in message
news:ul%(E-Mail Removed)...
> My question concerns the documentation for Control.BeginInvoke(). At one
> point is says:
>
> "Executes the specified delegate asynchronously with the specified
> arguments, on the thread that the control's underlying handle was created
> on."
>
> later in that same documentation page it says...
>
> "Note The BeginInvoke method calls the specified delegate back on a
> different thread pool thread. You should not block a thread pool thread
for
> any length of time."
>
> My impression was that when BeginInvoke is called on a control, the params
> are placed on the message queue of the UI thread [which created the
control]
> and eventually the delegate representing the control's method is called
*on
> the control's original UI thread*. Why does the documentation mention the
> thread pool? Why would a thread pool thread even be involved in this chain
> of events? I'm one confused granny.
>
> Granny
>
>
|