[英]Await vs await Task.Delay trying to learn
如果我有代码说:
public async Task Test1()
{
Task task1 = MakeEggAsync();
Task task2 = MakeBaconAsync();
await Task.WhenAll(task1, task2);
}
async Task MakeBaconAsync()
{
while (CookIsBusy)
{
//
await Task.Delay(100);
}
}
async Task MakeEggAsync()
{
await makeEgg2Async();
}
async Task makeEgg2Async()
{
while (CookIsBusy)
{
//
await Task.Delay(100);
}
}
...计算机到达这条线后会返回到主Test1()
吗?
async Task MakeEggAsync()
{
await makeEgg2Async();
}
...或者它只会在延迟后返回? 我知道线程只有在你等待之后才会返回。 对不起,我是新手,我正在努力学习。
计算机在await
或到达Task.Delay
后是否返回? 这是我真正要问的。
此外,等待的是对象,而不是方法。 换句话说,这段代码:
async Task MakeEggAsync()
{
await makeEgg2Async();
}
与此代码大致相同:
async Task MakeEggAsync()
{
var task = makeEgg2Async();
await task;
}
所以计算机在Task.Delay
被调用后返回到Test1
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.