日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

NET 提供了执行异步操作的三种模式

發布時間:2023/12/10 编程问答 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 NET 提供了执行异步操作的三种模式 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1.APM模式簡介

在.net1.x的版本中就可以使用IAsyncResult接口實現異步操作,但是比較復雜,這種稱之為異步編程模型模式 (Asynchronous Programming Model, APM),也稱為IAsyncResult模式
在這種APM模式下,一個同步操作XXX需要定義BeginXXX方法和EndXXX方法。
例如,如果有一個同步方法DownloadString,其異步版本就是BeginDownloadString和EndDownloadString方法。
BeginXXX方法接受其同步方法的所有輸入參數,EndXXX方法使用同步方法的所有輸出參數,并按照同步方法的返回類型來返回結果。
BeginXXX方法返回IAsyncResult接口的引用(內部是AsyncResult對象),用于驗證調用是否已經完成,并且一直等到方法的執行結束。
使用異步模式時,BeginXXX方法還定義了一個AsyncCallback參數,用于接受在異步方法執行完成后調用的委托。
這種編程方式比較麻煩,使用很不方便,實際開發中,現在的.net 項目幾乎不再使用這種方式實現異步操作(因為有更加方便的方法)。

2. EAP:基于事件的異步編程模式(Event-based Asynchronous Pattern)

是提供基于事件的異步行為的舊模型。 這種模式需要后綴為 Async 的方法,以及一個或多個事件、事件處理程序委托類型和 EventArg 派生類型。 EAP 是在 .NET Framework 2.0 中引入的。 建議新開發中不再使用這種模式。

4.TAP:基于任務的異步編程模式(Task-based Asynchronous Pattern)

該模式使用單一方法表示異步操作的開始和完成。 TAP 是在 .NET Framework 4 中引入的,是在 .NET 中進行異步編程的推薦方法

5. C# 中的 async 和 await 關鍵詞以及 Visual Basic 中的 Async 和 Await 運算符為 TAP 添加了語言支持。是語法糖

TPL(Task Parallel Library)是.Net 4.0 之后帶來的新特性

TaskAsync
BGW BackGroundWorker

總結

以上是生活随笔為你收集整理的NET 提供了执行异步操作的三种模式的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。