对于给定的优先级,Dispatcher.Invoke()和Dispatcher.BeginInvoke()是否相等?

鉴于Invoke()阻塞了调用线程,直到执行委托为止,我想知道它是否比BeginInvoke()排队的委托具有任何优先级,根据定义,这将使及时性显得不那么重要?

有人知道吗是的,我总是可以启动一个测试应用程序,但是后来我很懒;-)

解决方法:

Dispatcher.Invoke()将DispatcherPriority作为其第一个参数.这是一个相对粗略的优先安排.否则,它充当FIFO队列,先到先服务.倒是有意义,只有备份了调用队列,优先级才有意义.您要避免的情况.而且如果它能以这种方式运行,则是一个非常讨厌的错误工厂,根据机器的速度和负载,代码将以无法预测的顺序执行.

上一篇:java.lang.IllegalArgumentException: java.lang.ClassCastException


下一篇:Unity Invoke定时器的使用