I\'d like to have two Threads. Let\'s call them :
Thread A fires an event and thread B listen to this event. When th
If you're using Windows Forms or WPF, and do not have a Control reference handy from your event handlers, you could also capture the reference of System.Threading.SynchronizationContext.Current in something running on the UI thread, and expose that reference to your event handlers.
Then, when you need to have something run on the UI thread, invoke Post() or Send() on the captured SynchronizationContext reference from your event handler, depending on whether you want it to be run asynchronously or synchronously.
Basically this is just sugar around capturing a Control reference and calling Invoke() on it, but can make your code simpler.