是否有一种“标准”方法来指定任务继续应该在创建初始任务的线程上运行?
目前,我有下面的代码-它正在工作,但是跟踪调度程序并创建第二个Action似乎是不必要的开销。
dispatcher = Dispatcher.CurrentDispatcher;
Task task = Task.Factory.StartNew(() =>
{
DoLongRunningWork();
});
Task UITask= task.ContinueWith(() =>
{
dispatcher.Invoke(new Action(() =>
{
this.TextBlock1.Text = "Complete";
}
});
感谢@ColonelPanic,但是我使用的是WPF(已标记),而不是winforms。
—
格雷格·桑索姆
Control.Invoke(Action)
,即。TextBlock1.Invoke
而不是dispatcher.Invoke