Dispatcher.DisableProcessing的实际用途?

时间:2009-01-05 14:29:50

标签: wpf multithreading dispatcher

WPF中Dispatcher.DisableProcessing的常见现实生活用途是什么?当我在代码中构建复杂的UI时,我可以使用它来暂停渲染和布局吗?

1 个答案:

答案 0 :(得分:5)

根据MSDN:

  

禁用调度程序处理是一个   旨在的高级方法   消除无关的机会   重入。

所以你在Dispatcher正在执行的同一个线程上做了一些工作,但你不希望它在你做这项工作时处理事件。我认为真正相关的一点是:

  

禁用处理的效果   如下:

* CLR locks will not pump messages internally.

如果我理解正确,这意味着您可以安全地锁定并且不会因此导致调度泵事件(这可能导致意外的重入)。