It starts in the thread that triggered the event.
Examples:
- User presses button: GUI stream.
- A background thread updates an object property: this background thread
- WCF message received: thread from thread pool
If you are working with a graphical interface, this often means that you need to output an event from a background thread to a GUI thread before touching any controls.
source
share