C# 異步編程入門:Task、Task<TResult>、async 和 await
當(dāng)前位置:點(diǎn)晴教程→知識管理交流
→『 技術(shù)文檔交流 』
摘要在面向服務(wù)的系統(tǒng)中,各個(gè)子系統(tǒng)之間通常采用異步方式進(jìn)行通信,例如訂單系統(tǒng)與支付系統(tǒng)之間的通信,以及現(xiàn)實(shí)生活中你在餐廳點(diǎn)菜、下單、做事、上菜、吃飯的過程,這些都是異步的。異步的工作流可以同時(shí)進(jìn)行,因此它能夠提高效率?,F(xiàn)在的掃碼點(diǎn)餐就是一個(gè)很好的異步例子,它將顧客點(diǎn)餐與廚師制作菜品的過程分離,使得這兩個(gè)過程可以同時(shí)進(jìn)行,從而提高了效率。在同步的世界里,工作流簡單易懂,但效率卻非常低。 正文現(xiàn)代應(yīng)用程序廣泛使用文件和網(wǎng)絡(luò) I/O。I/O 相關(guān) api 傳統(tǒng)上默認(rèn)是阻塞的,導(dǎo)致用戶體驗(yàn)和硬件利用率不佳,此類問題的學(xué)習(xí)和編碼的難度也較大。而今基于 Task 的異步 API 和語言級異步編程模式顛覆了傳統(tǒng)模式,使得異步編程非常簡單,幾乎沒有新的概念需要學(xué)習(xí)。 異步代碼有如下特點(diǎn):
使用 .NET 基于 Task 的異步模型可以直接編寫 I/O 和 CPU 受限的異步代碼。該模型圍繞著Task和Task<T>類型以及 C# 的async和await關(guān)鍵字展開。本文將講解如何使用 .NET 異步編程及一些相關(guān)基礎(chǔ)知識。 .NET Framework 提供了一個(gè)基于任務(wù)的異步模式 (TAP),它是構(gòu)建異步操作的推薦方式。這種模式使用 基本概念
編寫異步代碼
注意:異步不能提高單一業(yè)務(wù)的速度。 該文章在 2024/3/28 22:03:19 編輯過 |
關(guān)鍵字查詢
相關(guān)文章
正在查詢... |