【发布时间】:2013-05-11 05:49:24
【问题描述】:
WPF中的UI线程和Dispatcher线程是一样的还是有区别的?
【问题讨论】:
标签: c# wpf dispatcher
WPF中的UI线程和Dispatcher线程是一样的还是有区别的?
【问题讨论】:
标签: c# wpf dispatcher
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
【讨论】:
UI 线程是一个通用术语(它并非特定于 WPF),它描述了一个具有与之关联的 UI 组件的线程。通常,每个应用程序只有一个 UI 线程(在这种情况下,它被称为 the UI 线程),但如果不同的 UI 组件(通常是窗口)与不同的线程相关联,则可以有更多。
Dispatcher 是 WPF 用于将组件与线程相关联并在该线程上执行工作的机制。但是也可以有一个带有Dispatcher 的线程,但没有关联的UI 组件。在这种情况下,它是一个调度程序线程,而不是一个 UI 线程。
【讨论】: