Ash*_*shu 6 wpf multithreading delegates dispatcher wpf-controls
.NET 3.5和WPF中的Dispatcher概念与.NET 2.0中的后台线程有何不同?
例如,下面的陈述之间有什么区别:
delegate.Invoke/BeginInvoke
Run Code Online (Sandbox Code Playgroud)
和
this.dispatcher.Invoke/BeginInvoke
Run Code Online (Sandbox Code Playgroud)
可以将调度程序视为事件发送到的队列; 调度程序将在UI线程上运行并为UI执行事件.在Windows中,UI控件只能由创建它们的线程修改,因此UI的任何更改都必须从UI线程完成 - 因此,这是修改窗口元素的操作必须发送到UI的关键原因之一调度员.
反过来,后台线程是与UI不同的线程.因此,在其中一个线程上运行的任何内容都不会影响或阻止UI.
| 归档时间: |
|
| 查看次数: |
2069 次 |
| 最近记录: |