Given that Invoke() blocks the calling thread until the delegate is executed, I was wondering if it is given any kind of priority over delegates queued by BeginInvoke(), which by definition would infer that timeliness is less important?
Anyone know? Yes, I could always whip up a test app but then I’m lazy 😉
Dispatcher.Invoke() takes a DispatcherPriority as its first argument. That’s a relatively crude priority arrangement. It otherwise functions as a FIFO queue, first come, first serve. Which all rather makes sense, priority can only be meaningful if the invoke queue is backed-up. A condition you want to avoid. And a rather nasty bug factory if it would work that way, code would execute in an unpredictable order depending on the machine speed and load.