上次,博主通過(guò)《利用 async & await 的異步編程》這篇點(diǎn)睛之作初步介紹了 async & await 的基本用法及異步的控制流和一些其它的東西;
接著,博主通過(guò)《怎樣使用 async & await 一步步將同步代碼轉(zhuǎn)換為異步編程》這篇隨筆誘導(dǎo)大家如何一步步轉(zhuǎn)換自己的同步代碼;
今天,我們來(lái)一起看看如何用異步進(jìn)行 IO 操作。
使用異步特性實(shí)現(xiàn) IO 操作的意義
- 異步特性有利于增強(qiáng)應(yīng)用程序的響應(yīng)能力。因?yàn)橐粋€(gè)操作的 UI 線程可以執(zhí)行其他工作。如果 UI 線程需要執(zhí)行較長(zhǎng)時(shí)間的代碼(如,> 50ms),UI 會(huì)阻塞到 I/O 完成,這時(shí)用戶界面線程才可以重新處理鍵盤(pán)、鼠標(biāo)輸入和其他操作。
- 文件訪問(wèn)操作的延遲在本地也許非常低,但是,我們可以考慮一下文件在非本地時(shí)進(jìn)行的操作。例如,文件可能會(huì)存放位于遠(yuǎn)程的服務(wù)器。
- 使用異步額外增加的開(kāi)銷很小。