node.js入門 - 6.I/O模式


  我們按照執行的方式,把I/O分為串行I/O和並行I/O。串行I/O是完成當前I/O之后,才會去執行下一個I/O。並行I/O要復雜些,但是更容易理解,就是幾個I/O同時運行。有一點需要提醒的是,在串行I/O中一般是按照請求隊列的順序來執行請求的,並以這個順序返回結果。並行I/O返回的結果沒有任何的順序可言。串行I/O和並行I/O可以組合起來工作,例如:有多組並行I/O,每組中包含不同數目的串行I/O。

  在Node中我們假設所有的I/O無限延遲的,他們可能執行0到無限的時間,我們不知道也不能假設他們具體的執行時長。與其等待他們執行完畢,我們不如使用基於事件模式,當I/O執行完畢時使用回調函數來響應結果。因此,使用並行I/O是更理想的解決方案,我們可以執行多個請求,按照他們執行完畢的順序返回結果。

  所以我們現在有兩種方式去處理I/O:順序串行處理和非順序的並行處理。順序的並行處理也是一種有用的模式,當我們允許I/O並行運行,並使用原有順序返回結果時可以使用這種方式。非順序的串行沒有益處,我們就不討論了。

  note:

  感覺這部分內容似曾相識,以前學習操作系統的運行方式,還有學習多線程編程的時候,也有類似的概念或者實現方式。大家對那些知識比較熟悉的話,理解這塊知識肯定會容易的多。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2026 CODEPRJ.COM