G
Grandma Wilkerson
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
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