Dispatcher线程和UI线程之间有什么区别

时间:2013-05-11 05:49:24

标签: c# wpf dispatcher

WPF中的UI线程和Dispatcher线程是否相同或有什么区别?

2 个答案:

答案 0 :(得分:14)

Dispatcher负责管理线程的工作。

UI线程是呈现UI的线程。

  

UI线程将名为Dispatcher的对象内的工作项排队。   Dispatcher优先选择工作项并运行每个工作项   一到完成。每个UI线程必须至少有一个Dispatcher,   并且每个Dispatcher都可以在一个线程中执行工作项。

From this article. Read it for a more thorough description of the UI Rendering in WPF

答案 1 :(得分:5)

UI线程是一个通用术语(它不是WPF特有的),它描述了一个与之关联的UI组件的线程。通常,每个应用程序只有一个UI线程(在这种情况下,它称为 UI线程),但如果不同的UI组件(通常是窗口)与不同的线程关联,则可能会有更多。 / p>

Dispatcher是WPF用于将组件与线程相关联并在该线程上执行工作的机制。但也可能有一个Dispatcher的线程,但没有关联的UI组件。在这种情况下,它是一个调度程序线程,但不是UI线程。