这里的问题有点抽象。我们都知道,为后台线程更新一些UI元素。从多个后台线程更新UI
Dispatcher.Invoke()
是唯一的选择(是吗?)。但是,Dispatcher.Invoke()本身将更新任务委托给UI线程。考虑以下场景:
- 后台线程经常更新UI。
- 数十个线程更新相同的用户界面。
Dispatcher对象会继续将更新任务委托给UI线程,并且UI线程可能会变慢。什么是可能的解决方案?我们如何解决Windows Forms中的这个问题,其中线程模型与WPF非常相似? WPF是否提供了其他线程技术?
问候,
感谢您的回复。 “但是,WPF中也有一种方法可以在每个窗口中创建多个UI线程,但它也相当复杂。”我了解所提供的所有风险,这可能是我正在寻找的解决方案。 我从http://eprystupa.wordpress.com/2008/07/28/running-wpf-application-with-multiple-ui-threads/ 开始您可以发布一个更好的链接来开始使用这个概念吗? 谢谢。 :) – James 2012-03-16 10:48:47