C#嵌套任务 - >在任务结束时抽出时间

时间:2015-11-21 20:59:00

标签: c# parallel-processing task

我想展示我的后台任务完成某项工作所需的时间。

我有:

   Stopwatch sw = new Stopwatch();
        Task.Run(() =>
        {
            sw.Start();
            function();
            sw.Stop();
        }
        ).ContinueWith(t => StatusText =sw.Elapsed.ToString());

并且函数看起来像这样:

    function()
{
Task.Run({...});
Task.Run({...});
}

现在,由于嵌套任务,我的秒表只显示了毫秒值。如何展示我的任务完成函数中所有工作所需的实时时间?

1 个答案:

答案 0 :(得分:4)

您需要await

中的Task.WaitAll(params Task[] tasks)function()

您的代码可能如下所示:

function()
{
    Task.WaitAll(
        Task.Run({...}),
        Task.Run({...})
    );
}