鉴于此代码:
Task.Factory.StartNew(() =>
{
Application.Current.Dispatcher.Invoke(() =>
{
//UI Code 1
});
//Non UI Code
taskResult = SomeMethod();
Application.Current.Dispatcher.Invoke(() =>
{
//UI Code 2
if (taskResult)...
});
});
在UI Code 2
执行完毕后执行Non UI Code
还是在Non UI Code
仍在运行时执行?
换句话说,假设在UI Code 2
块中调用taskResult变量将始终具有非UI线程处理的结果是否安全?
答案 0 :(得分:1)
鉴于Dispatcher.Invoke
的MSDN说明:
在线程上执行指定的委托同步 Dispatcher与。
相关联
您的问题的答案是是。