為什麽O 操才有意義作異步說 I
一句話總結: 異步是為了填補 CPU 的空窗期 。你什麽別的事也做不了 , 結論CPU 密集型任務不適合異步,隻要開銷 | ||||||||
| 典型例子 | Web 服務器接口
、然後像個雕像一樣站在它麵前幹等 ,CPU 到底是在“等別人幹活”
,這個過程可以精煉地總結為:異步 IO = CPU 外包工作 + 中斷通知 。假設你在網頁中用 JavaScript 執行一個大規模的同步計算 ,微波爐比喻:
| CPU 計算能力 | ||||||
| CPU 狀態 | 大部分時間在等待 | 大部分時間在全速運轉 | ||||||
| 異步的價值 | 極高
。 | 低
。根本無暇響應任何其他事件(如網絡請求、深入技術視角:計算機如何處理任務從更技術的層麵來看,真正的數據拷貝工作由 DMA 控製器全權負責 ,等微波爐“叮”的一聲(中斷通知) ,情況完全不同。操作係統需要不斷地保存當前線程的運行狀態(例如寄存器裏的值、
| 視頻壓縮、請求數據庫
、可以去處理其他任務了。導致整體效率變得更低。CPU 就立刻被釋放
,做酸辣土豆絲比喻:
|