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

Moh*_*med 14 c# wpf dispatcher

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

Ern*_*rno 14

一个调度员负责管理工作的线程.

UI线程是呈现UI的线程.

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

从这篇文章.阅读它以获得WPF中UI渲染的更全面描述


svi*_*ick 5

UI线程是一个通用术语(它不是WPF特有的),并描述了一个具有与之关联的UI组件的线程.通常情况下,只有一个每个应用程序UI线程(在这种情况下,这就是所谓 UI线程),但可以有更多的,如果不同的UI组件(通常窗户)与不同的线程关联.

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