上次,博主通過《利用 async & await 的異步編程》這篇點睛之作初步介紹了 async & await 的基本用法及異步的控制流和一些其它的東西;

接著,博主通過《怎樣使用 async & await 一步步將同步代碼轉(zhuǎn)換為異步編程》這篇隨筆誘導(dǎo)大家如何一步步轉(zhuǎn)換自己的同步代碼;

今天,我們來一起看看如何用異步進行 IO 操作。

 

使用異步特性實現(xiàn) IO 操作的意義

  • 異步特性有利于增強應(yīng)用程序的響應(yīng)能力。因為一個操作的 UI 線程可以執(zhí)行其他工作。如果 UI 線程需要執(zhí)行較長時間的代碼(如,> 50ms),UI 會阻塞到 I/O 完成,這時用戶界面線程才可以重新處理鍵盤、鼠標(biāo)輸入和其他操作。
  • 文件訪問操作的延遲在本地也許非常低,但是,我們可以考慮一下文件在非本地時進行的操作。例如,文件可能會存放位于遠程的服務(wù)器。
  • 使用異步額外增加的開銷很小。