【发布时间】:2014-09-06 18:33:18
【问题描述】:
我的main() 中有这个构造,它创建了
var tasks = new List<Task>();
var t = Task.Factory.StartNew(
async () =>
{
Foo.Fim();
await Foo.DoBar();
});
//DoBar not completed
t.Wait();
//Foo.Fim() done, Foo.DoBar should be but isn't
但是,当我 .Wait 为 t 时,它不会等待对 DoBar() 的调用完成。
如何让它真正等待?
【问题讨论】:
-
请展示一个简短但完整的程序来说明问题。
-
Stephen Taub wrote a great article 关于如何开始任务。那篇文章中实际上有一个示例,它看起来完全像您的示例(即
Task.StartNew(async() => ...))并解释了正在发生的事情
标签: c# .net task-parallel-library task async-await