WPF 中的 UI 线程和 Dispatcher 线程是相同的还是有什么区别?
问问题
8359 次
2 回答
16
Dispatcher负责管理线程的工作。
UI 线程是呈现 UI 的线程。
UI 线程在称为 Dispatcher 的对象中对工作项进行排队。Dispatcher 按优先级选择工作项并运行每个工作项直至完成。每个 UI 线程必须至少有一个 Dispatcher,并且每个 Dispatcher 只能在一个线程中执行工作项。
于 2013-05-11T06:00:42.647 回答
6
UI 线程是一个通用术语(它并非特定于 WPF),它描述了一个具有与之关联的 UI 组件的线程。通常,每个应用程序只有一个 UI 线程(在这种情况下,它称为UI线程),但如果不同的 UI 组件(通常是窗口)与不同的线程相关联,则可以有更多。
Dispatcher
是 WPF 用来将组件与线程相关联并在该线程上执行工作的机制。但也可以有一个带有 的线程Dispatcher
,但没有关联的 UI 组件。在这种情况下,它是一个调度程序线程,而不是一个 UI 线程。
于 2013-05-11T11:55:57.120 回答