C#異步Task編程模型實戰手冊

1、課程介紹

本次分享課程屬於《C#高級編程實戰技能開發寶典課程系列》中的第一部分,阿笨後續會計劃將實際項目中的一些比較實用的關於C#高級編程的技巧分享出來給你們進行學習,不斷的收集、整理和完善此係列課程!html

本高級系列課程適合人羣以下:算法

一、有必定的NET開發基礎並對多線程技術有必定了解和認識。數據庫

二、喜歡阿笨的乾貨分享課程的童鞋們。編程

但願你們在選擇阿笨的 C#高級編程實戰技能開發寶典課程系列的時候,根據自身的狀況進行選擇,因爲本次課程不是零基礎教學課程系列,因此說.NET基礎差的到了沒朋友的地步話,那阿笨建議您仍是先「學」好NET的一些基礎知識,而後在來C#跟着阿笨「玩」一塊兒玩異步Task實戰!網絡

若是您一樣對本次分享《C#跟着阿笨玩一塊兒玩異步Task實戰》課程感興趣的話,那麼請跟着阿笨一塊兒學習吧。多線程

廢話很少說,直接上乾貨,咱們不生產乾貨,咱們只是乾貨的搬運工。異步

2、概念名稱含義解釋

2.一、多線程和異步二者的區別和聯繫?
異步編程

1、區別:學習

1)、異步適用範圍則是當須要執行I/O操做時。I/O操做包括了直接的文件、網絡的讀寫,還包括數據庫操做、Web Service、HttpRequest以及.net Remoting等跨進程的調用。.net

2)、線程適用範圍則是那種須要長時間CPU運算的場合,例如耗時較長的圖形處理和算法執行。

可是每每因爲使用線程編程的簡單和符合習慣,因此不少朋友每每會使用線程來執行耗時較長的I/O操做。

2、聯繫:

1)、多線程和異步操做二者均可以達到避免調用線程阻塞的目的,從而提升軟件的可響應性。

2)、異步的本質也是多線程。

詳細關於二者的區別和聯繫,推薦下面博客:

《C#多線程與異步的區別》《如何正確運用異步編程技術》

3、異步Task實戰實例分享

3.1)、C#使用異步Task實現查詢等待Loading中效果。

3.2)、C#使用Task實現多任務批量處理。

3.3)、C#如何優雅的將同步方法轉化爲異步方法。

3.4)、 C#如何以同步方式獲取異步事件回調的結果。

                1)、解決手段一: 經過 Task+AutoResetEvent機制實現異步阻塞獲取異步事件回調的結果。

                2)、解決手段二:經過 Task +CancellationTokenSource( 課後請自行思考)

4、總結

若是您想更加全面的學習一下關於阿笨使用異步Task技術在項目當中的實戰技能,推薦你們能夠學習一下阿笨早期以前分享的《C#實戰技能之WebApi+Task+WebSocket》課程。俗話說的好:師父領進門修行在我的,但願你們在學習的道路上一直堅持下去!

5、源碼在線學習和演示

相關文章
相關標籤/搜索