在任务中运行的代码,计划在UI线程的同步上下文中运行的代码与直接在消息泵上运行的代码之间有什么区别。
我注意到了许多行为差异。
答案 0 :(得分:1)
不确定“直接在消息泵上运行的代码”是什么意思,但是查看参考源,你可以看到基本
WindowsFormsSynchronizationContext.Send
= Control.Invoke
WindowsFormsSynchronizationContext.Post
= Control.BeginInvoke
DispatcherSynchronizationContext.Send
= Dispatcher.Invoke
DispatcherSynchronizationContext.Post
= Dispatcher.BeginInvoke
因此,当任务调度程序在UI线程上调度任务时,它应该等同于您这样做