WPF中的UI线程和Dispatcher线程是否相同或有什么区别?
答案 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线程。