1. 程式人生 > >異步操作的使用場景

異步操作的使用場景

api 登錄 soc mce 系統 登錄註冊 action 字節流 以及

在看MVC示例工程看到有一些action使用了async action異步方法,但並不是所有actio都是異步的,我查閱了一些資料,總結了異步操作的使用場景,如有錯誤,請不吝賜教。

我們采用異步的方式來處理這樣的耗時請求,工作線程可以讓後臺線程來接手,自己可以及時地被釋放到線程池中用於進行後續請求的處理,從而提高了整個服務器的吞吐能力。值得一提的是,異步操作主要用於I/O綁定操作(比如數據庫訪問和遠程服務調用等),而非CPU綁定操作,因為異步操作對整體性能的提升來源於:當I/O設備在處理某個任務的時候,CPU可以釋放出來處理另一個任務。如果耗時操作主要依賴於本機CPU的運算,采用異步方法反而會因為線程調度和線程上下文的切換而影響整體的性能。
IO操作:
磁盤數據的讀寫。包括文件讀寫(字節流,緩沖區等)、網絡請求(基於socket的請求、比如數據庫連接,第三方服務API調用)。 cpu操作:系統計算。
示例場景: 數據輪訓,登錄註冊

異步操作的使用場景