.Net异步关键字async/await的最终理解
由于之前的项目中自己突然想试试异步action,于是使用了一下,突然就对异步action的执行流程以及原理及其好处产生了兴趣,再参考了一些文章之后,就做了下归类。
我们可以不需要太深入的理解底层,但是最基本的执行流程以及作用我们还是要清楚地。
1、async/await在程序中的的执行流程/顺序:在你的代码块里使用这两个关键字,你得知道它们在代码里面的执行顺序。
参考:
C#中 Thread,Task,Async/Await,IAsyncResult 的那些事儿!
2、async/await构造一个异步action,实现一个异步的请求,其执行流程以及带来的作用是什么?
重新理解:ASP.NET 异步编程(强烈推荐)
总的来讲,异步action的作用是提高了clr线程池里面线程的吞吐量,增强了web应用程序的并发能力,因此在web项目中的高并发情况下应该多使用异步请求。
3、对于FCL中提供的绝大多数异步方法,其实现其实都是在调用时传入的Func等委托参数中自己实现了异步(async/await),而后在FCL中做了调用而已,并不是FCL内部实现了异步。