由於之前的專案中自己突然想試試非同步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內部實現了非同步。