2011-01-07 30 views
5

是否严格保留了Silverlight Dispatcher事件队列的排序?Silverlight Dispatcher事件队列顺序

详细说明:如果我恰好有一个其他线程调用Dispatcher.BeginInvoke,是否保证这些调用将以相同的顺序在UI线程上处理,或者是否为排序非确定性?

+0

其有趣的是,这个确切的问题已被问及之前和最近,但我现在找不到它。给出完全相同的答案。 – AnthonyWJones 2011-01-07 17:50:10

回答

6

MSDN

如果多个BeginInvoke的调用都在同一的DispatcherPriority做出 ,他们 将在 调用的时间顺序执行。

所以,是的,如果同一个线程排队的消息,他们将按照他们排队的顺序执行。这是假设Silverlight遵循相同的规则(我假设它的确如此,但它不包括可访问的DispatcherPriority),而Silverlight的BeginInvoke的MSDN文档相当轻松。