.NET async / await任务在没有等待的情况下运行

时间:2014-04-08 10:51:04

标签: .net asynchronous

有一行代码:

var task = await TaskEx.Run(()=>{ Thread.Sleep(100000) });

应该是这样的。

但如果我不等待写作:

var task = TaskEx.Run(()=>{ 
    Thread.Sleep(100000);     //breakpoint
});

为什么我要达到断点?不仅仅是对任务的引用吗? 我使用的是.net 3.5 asyncbridge。

1 个答案:

答案 0 :(得分:3)

我猜测你可能有的误解:TaskEx.Run不仅创造了一个任务 - 它也会启动它。 await无法启动任务 - 它只是暂停方法,直到等待的任务完成。