gpt4 book ai didi

c# - 需要说明等待任务的方法

转载 作者:太空宇宙 更新时间:2023-11-03 23:21:52 24 4
gpt4 key购买 nike

var task = Xyz.Start();
task.ContinueWith((ant)=> Validate());
task.Wait();

对比

var task1 = Xyz.Start();
var task2 = task1.ContinueWith((ant)=> Validate());
task2.Wait();

最近我遇到了一个 SO 问题(抱歉不记得是哪一个),OP 的示例代码就像上面的那个。接受的答案更正了底部的代码,没有任何解释。

那么这两个代码片段有什么区别,为什么下面的代码片段是正确的?我认为 task1.ContinueWith() 实际上是 task1.Wait() 意味着在 task1 返回之前不会继续执行。

最佳答案

ContinueWith 不等待。它注册一个回调,在任务完成时执行。也许您应该查看有关 ContinueWith 的文档,以更完整地了解这一点。

您需要哪种形式取决于您想要什么。如果您只想在继续完成后继续,您需要等待 task2

关于c# - 需要说明等待任务的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35124485/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com