I'm planning on using the SynchronizationContext class to perform some cross-thread marshalling of UI updates. The idea is to avoid having to have a reference to the main form (i.e. the one in Application.Run(form)
) just so I can say mainForm.BeginInvoke();
However, one thing that isn't clear from the documentation, is that when you call SynchronizationContext.Post()
, which thread it marshalls the call to. Is it always the main application thread, or the thread that first initialised a SynchronizationContext
object, or what?