我需要知道Control.BeginInvoke和Control.Invoke调用是否按照它们被调用的顺序执行。
我有以下场景:
1. UI线程已被阻塞 2. WCF线程调用Control.BeginInvoke 3. WCF线程调用Control.Invoke(或可能是再次BeginInvoke) 4. UI线程被解除阻塞 5. ??
步骤1-4的执行顺序保证按照所示顺序进行(从技术上讲,顺序不一定保证如此,但我要问的问题只与顺序相关)。
我的问题是在步骤2中的BeginInvoke调用之前,步骤3中的Invoke/BeginInvoke调用是否有任何机会被执行?
另外,请不要评论阻止UI线程。
我有以下场景:
1. UI线程已被阻塞 2. WCF线程调用Control.BeginInvoke 3. WCF线程调用Control.Invoke(或可能是再次BeginInvoke) 4. UI线程被解除阻塞 5. ??
步骤1-4的执行顺序保证按照所示顺序进行(从技术上讲,顺序不一定保证如此,但我要问的问题只与顺序相关)。
我的问题是在步骤2中的BeginInvoke调用之前,步骤3中的Invoke/BeginInvoke调用是否有任何机会被执行?
另外,请不要评论阻止UI线程。