我需要知道 Control.BeginInvoke 和 Control.Invoke 调用是否会按照它们被调用的顺序执行。
我有以下情况:
- UI线程被阻塞
- WCF 线程调用 Control.BeginInvoke
- WCF 线程调用 Control.Invoke(或可能再次调用 BeginInvoke)
- UI线程未阻塞
- ??
步骤 1-4 的执行顺序保证按照显示的顺序(从技术上讲,不能保证顺序是那样的,但我的问题只有在顺序如图所示的情况下才相关)。
我的问题是,步骤 3 中的 Invoke/BeginInvoke 调用是否有可能在步骤 2 中的 BeginInvoke 调用之前执行?
另外,请不要评论阻塞 UI 线程。