阅读背景:

C#混合使用Task和Dispatcher.Invoke,为什么会停止?

来源:互联网 

I tried below snippet:

我试过下面的片段:

    public Task RunUiTask(Action action)
    {
        var task = Task.Factory.StartNew(() =>
        {
            Dispatcher.Invoke(DispatcherPriority.Background, action);
        });
        return task;
    }

    private void OnCreateTask(object sender, RoutedEventArgs e)
    {
        var task = RunUiTask(() =>
            {
                for(int i=0;i<10;i++)
                {
                    ResultTextBlock.Text += i.ToString();
                }
            });
        task.Wait();                        //(a) Program stopped here
        ResultTextBlock.Text += "Finished"; //(b) Never called;
    }
    public



你的当前访问异常,请进行认证后继续阅读剩余内容。

分享到: