gpt4 book ai didi

c# - 在 Silverlight 中调用 Dispatcher.CheckAccess() 是好的形式吗?

转载 作者:太空宇宙 更新时间:2023-11-03 16:39:59 27 4
gpt4 key购买 nike

我想知道以下代码是否会带来任何性能提升:

if (Deployment.Current.Dispatcher.CheckAccess())
{
DoUIWork();
}
else
{
Deployment.Current.Dispatcher.BeginInvoke(() =>
DoUIWork());
}

Dispatcher 是否足够聪明,可以在不必要时将分派(dispatch)短路到 UI 线程?

最佳答案

与检查相比,我不能说调度程序在从 UI 线程调度到自身时是否做了任何昂贵的事情。但是来自 UI 线程的 BeginInvoke 的行为可能与直接执行操作不同,因为它至少被放入队列而不是立即调用。如果您之后直接有代码,您可以区分这与删除条件语句之间的区别。

当然值得了解控制流,足以知道差异是否无关紧要。

关于c# - 在 Silverlight 中调用 Dispatcher.CheckAccess() 是好的形式吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7949027/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com