Async/Await 同步方法中的异步和异步方法中的异步
Posted ilison
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Async/Await 同步方法中的异步和异步方法中的异步相关的知识,希望对你有一定的参考价值。
1、同步方法中有异步方法
执行顺序是:Await就等待。同步方法中当遇见异步方法中Await将直接跳出异步方法,继续往下执行同步方法的代码,当异步Await处理完后接着CallBack到异步方法中,执行(刚跳出)Await下面的代码
public void DoRun1() { Console.WriteLine("Caller: Before call"); ShowDealyAsync(); Console.WriteLine("Caller: After call"); } public async Task ShowDealyAsync() { sw.Start(); Console.WriteLine(" Before Delay: {0}", sw.ElapsedMilliseconds); await Task.Delay(3000); //执行到await表达式时,立即返回到调用方法,等待5秒后执行后续部分 Console.WriteLine(" After Delay : {0}", sw.ElapsedMilliseconds);//后续部分 }
2. 异步方法中的异步方法
执行顺序是自上而下得顺序,跟同步方法没两样
所以,一定要注意别把异步方法和同步方法弄混淆。
await Task.Delay(TimeSpan.FromSeconds(3)); 这句代码在不同的方法中调用会出现不同的结果。
以上是关于Async/Await 同步方法中的异步和异步方法中的异步的主要内容,如果未能解决你的问题,请参考以下文章