1. 程式人生 > >IO編程,相關概念

IO編程,相關概念

執行 速度 輸出 通知 可能 嚴重 是你 等了 就是

在IO編程中,就存在速度嚴重不匹配的問題。舉個例子來說,比如要把100M的數據寫入磁盤,CPU輸出100M的數據只需要0.01秒,可是磁盤要接收這100M數據可能需要10秒,怎麽辦呢?

有兩種辦法:

  • 同步IO
    • CPU等著,也就是程序暫停執行後續代碼,等100M的數據在10秒後寫入磁盤,再接著往下執行,這種模式稱為同步IO
    • 你去麥當勞點餐,你說“來個漢堡”,服務員告訴你,對不起,漢堡要現做,需要等5分鐘,於是你站在收銀臺前面等了5分鐘,拿到漢堡再去逛商場
  • 異步IO
    • CPU不等待,只是告訴磁盤,“您老慢慢寫,不著急,我接著幹別的事去了”,於是,後續代碼可以立刻接著執行,這種模式稱為異步IO
    • 你說“來個漢堡”,服務員告訴你,漢堡需要等5分鐘,你可以先去逛商場,等做好了,我們再通知你,這樣你可以立刻去幹別的事情(逛商場)

IO編程,相關概念