.Net異步關鍵字async/await的最終理解

因爲以前的項目中本身忽然想試試異步action,因而使用了一下,忽然就對異步action的執行流程以及原理及其好處產生了興趣,再參考了一些文章以後,就作了下歸類。html

咱們能夠不須要太深刻的理解底層,可是最基本的執行流程以及做用咱們仍是要清楚地。web

一、async/await在程序中的的執行流程/順序:在你的代碼塊裏使用這兩個關鍵字,你得知道它們在代碼裏面的執行順序。編程

參考:併發

教你正確打開async/await關鍵字的使用dom

C#中 Thread,Task,Async/Await,IAsyncResult 的那些事兒!異步

二、async/await構造一個異步action,實現一個異步的請求,其執行流程以及帶來的做用是什麼?async

詳解 ASP.NET異步異步編程

從新理解:ASP.NET 異步編程(強烈推薦)高併發

總的來說,異步action的做用是提升了clr線程池裏面線程的吞吐量,加強了web應用程序的併發能力,所以在web項目中的高併發狀況下應該多使用異步請求。線程

三、對於FCL中提供的絕大多數異步方法,其實現其實都是在調用時傳入的Func等委託參數中本身實現了異步(async/await),然後在FCL中作了調用而已,並非FCL內部實現了異步。

相關文章
相關標籤/搜索