对于给定的优先级,Dispatcher.Invoke()和Dispatcher.BeginInvoke()是否相等?
作者:互联网
鉴于Invoke()阻塞了调用线程,直到执行委托为止,我想知道它是否比BeginInvoke()排队的委托具有任何优先级,根据定义,这将使及时性显得不那么重要?
有人知道吗是的,我总是可以启动一个测试应用程序,但是后来我很懒;-)
解决方法:
Dispatcher.Invoke()将DispatcherPriority作为其第一个参数.这是一个相对粗略的优先安排.否则,它充当FIFO队列,先到先服务.倒是有意义,只有备份了调用队列,优先级才有意义.您要避免的情况.而且如果它能以这种方式运行,则是一个非常讨厌的错误工厂,根据机器的速度和负载,代码将以无法预测的顺序执行.
标签:begininvoke,invoke,dispatcher,c 来源: https://codeday.me/bug/20191101/1983628.html