Silverlight 调度程序事件队列顺序

发布于 2024-10-10 13:27:52 字数 133 浏览 5 评论 0原文

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

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

Is the Silverlight Dispatcher event queue's ordering strictly preserved?

To elaborate: If I have exactly one other thread calling Dispatcher.BeginInvoke, is it guaranteed that those calls will be processed on the UI thread in the same order, or is the ordering nondeterministic?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

虚拟世界 2024-10-17 13:27:52

来自 MSDN

如果进行了多次 BeginInvoke 调用
在相同的 DispatcherPriority 下,他们
将按照以下顺序执行
已拨打电话。

所以,是的,如果同一个线程正在对消息进行排队,那么它们将按照排队的顺序执行。假设 Silverlight 遵循相同的规则(我假设它遵循相同的规则,但它不包含可访问的 DispatcherPriority),并且 Silverlight 的 BeginInvoke 的 MSDN 文档相当简单。

From MSDN:

If multiple BeginInvoke calls are made
at the same DispatcherPriority, they
will be executed in the order the
calls were made.

so, yes, if the same thread is queueing the messages, they will be executed in the order they are queued. That's assuming Silverlight follows the same rules (I'm assuming it does but it does not include an accessible DispatcherPriority) and the MSDN docs for Silverlight's BeginInvoke are rather light.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文