1

在任务中运行的代码(计划在 UI 线程的同步上下文中运行)与直接在消息泵上运行的代码之间有什么区别。

我注意到许多行为差异。

4

1 回答 1

1

不确定“直接在消息泵上运行的代码”是什么意思,但是查看参考源,您基本上可以看到

WindowsFormsSynchronizationContext.Send= Control.Invoke WindowsFormsSynchronizationContext.Post= Control.BeginInvoke DispatcherSynchronizationContext.Send= Dispatcher.Invoke DispatcherSynchronizationContext.Post=Dispatcher.BeginInvoke

因此,当任务调度程序在 UI 线程上调度任务时,它应该等同于您这样做

于 2012-05-02T08:41:53.733 回答