Dispatcher.DisableProcessing的实际用途?

bit*_*onk 9 wpf multithreading dispatcher

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

Ken*_*art 5

根据MSDN:

禁用调度程序处理是一种高级方法,旨在消除不相关重入的可能性.

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

禁用处理的效果如下:

* CLR locks will not pump messages internally.
Run Code Online (Sandbox Code Playgroud)

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