首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >是否建议将prevTask.Wait()与ContinueWith一起使用(来自任务库)?

是否建议将prevTask.Wait()与ContinueWith一起使用(来自任务库)?
EN

Stack Overflow用户
提问于 2012-08-10 23:29:27
回答 3查看 92.7K关注 0票数 88

所以最近有人告诉我,我使用.ContinueWith处理任务的方式不是正确的使用方式。我还没有在互联网上找到这方面的证据,所以我会问你们,看看答案是什么。下面是我如何使用.ContinueWith的一个示例:

代码语言:javascript
运行
复制
public Task DoSomething()
{
    return Task.Factory.StartNew(() =>
    {
        Console.WriteLine("Step 1");
    })
    .ContinueWith((prevTask) =>
    {
        Console.WriteLine("Step 2");
    })
    .ContinueWith((prevTask) =>
    {
        Console.WriteLine("Step 3");
    });
}

现在我知道这是一个简单的例子,它会运行得非常快,但假设每个任务都要做一些更长的操作。因此,我被告知,在.ContinueWith中,您需要使用prevTask.Wait();否则,您可以在前一个任务完成之前完成工作。这有可能吗?我假设我的第二个和第三个任务只会在前一个任务完成后运行。

我被告知如何编写代码:

代码语言:javascript
运行
复制
public Task DoSomething()
{
    return Task.Factory.StartNew(() =>
    {
        Console.WriteLine("Step 1");
    })
    .ContinueWith((prevTask) =>
    {
        prevTask.Wait();
        Console.WriteLine("Step 2");
    })
    .ContinueWith((prevTask) =>
    {
        prevTask.Wait();
        Console.WriteLine("Step 3");
    });
}
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11904821

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档