【发布时间】:2013-09-22 10:19:39
【问题描述】:
我现在才开始使用 async 和 await。我有 8 个单独的数据库调用,其中一些依赖于其他调用。我希望能够启动 3 个异步方法,然后当某个 1 返回时,启动 3 个其他方法,然后当某个 1 从该方法返回时,再启动 2 个。我目前正在使用 3 Parallel.Invoke 方法来完成此操作,但每个并行都必须等到 ALL methods 返回。我只关心 1 方法 返回,其他方法可以在后台运行,直到最后出现 await Task.WhenAll(t1,t2,t3,...,t6)。 有没有办法通过 async/await 来解决这个问题?
我知道 await 不会阻塞,但它会停止执行我的 main 方法(带有 8 个 db 调用),直到值从方法返回(就像同步方法一样)。
【问题讨论】:
标签: c# asynchronous async-await