我正在使用
WPF,我对执行顺序Control.dispatcher.BeginInvoke()和Control.dispatcher.Invoke()感到困惑.
backgroundThread = new Thread(BackgroundThread); backgroundThread.Start(); public void BackgroundThread() { this.dispatcher.BeginInvoke(new Action(delegate() { WriteLog("Run command 1"); })); this.dispatcher.Invoke(new Action(delegate() { WriteLog("Run command 2"); })); }
我希望“命令1”将在“命令2”之前运行并完成,但有时似乎“命令2”在“命令1”之前运行.我对互联网和MSDN文档进行了很多研究,但我不明白为什么会这样.
有人请告诉我这些功能的规则究竟是什么?
非常感谢!
T& T公司