【发布时间】:2013-03-02 12:37:47
【问题描述】:
在 C# WPF 项目中,我有一个需要刷新一些用户控件的后台线程。 为此,我使用了 Dispatcher.Invoke:
Dispatcher.Invoke(DispatcherPriority.Normal, (MethodInvoker)delegate()
{
// Code
}
但我想知道:
- 什么时候委托里面的代码会在主线程上执行?
- 要执行它,可以停止通常在主线程上运行的方法吗?
- 使用 Dispatcher.Invoke 会导致竞争条件吗?
非常感谢, 伊曼纽尔
【问题讨论】:
-
此代码在主 UI 线程上运行,但我们需要更多地了解您正在尝试什么(或您遇到什么问题),以便能够明智地回答您的其余问题.
标签: c# wpf multithreading dispatcher