文章出處

Node.js這個東西在近幾年火起來了,而且會一直火下去,無論在infoq還是在cnblogs,csdn上,都可以到處看到它的樣子,它主推的應該就是異步式I/O 吧,是的,設計的很完美,很吸引人,雖然它與正常思維是不同的,但是當你真正認識它后,也會足夠的讓你愛上它!Node.js確實改變了我的編程觀念,改變了我對計算機系統的認識!

名人總結的話,我們應該回味個幾百次

同步式I/O: 線程在執行中如果遇到磁盤讀寫或網絡通信(統稱為I/O操作),通常要耗費較長的時間,這時操作系統會剝奪這個線程的CPU控制權,使其暫停執行(阻塞了當前線程中剩下的工作,當耗時操作完成后,才繼續執行剩下的代碼),同時將資源讓給其他的工作線程,這種線程調度方式稱為阻塞。當I/O操作完畢,操作系統將這個線程的阻塞狀態解除,恢復其對CPU的控制權,令其繼續執行。這種 I/O模式就是通常的同步式I/O(Synchronous I/O).

 

異步式I/O: 當線程遇到I/O操作時,不會以阻塞的方式等待I/O操作的完成或數據的返回,而只是將I/O請求發送到操作系統,繼續執行下一條語句。當操作系統完成I /O操作時,以事件的形式通知執行I/O操作的線程,線程會在特定時候處理這個事件。為了處理異步I/O,線程必須有事件循環,不斷地檢查有沒有未處理的事件,依次處理。(有個事件隊列機制,它永遠的輪訓著,當有需要處理的事件時,就會處理這個事件的回調方法)

完善的事件輪詢機制,改變了程序的運行方式,改變了程序員的思維!

Node.js教程系列~目錄

NodeJS實例系列

第一個小例子,實現了request.querystring功能

第二個小例子,解決中文亂碼的問題

第三個小例子,NodeJs與Redis實現高并發的隊列存儲

第四個小例子,NodeJs處理Get請求和Post請求

環境搭建系列

環境搭建,Hello world歸來!

Node.js~sails.js~package.json的作用(New)

Node.js~在linux上的部署

Node.js~在linux上的部署~外網不能訪問node.js網站的解決方法

Node.js~在linux上的部署~pm2管理工具的使用

Node.js與Sails系列

Node.js與Sails~項目結構與Mvc實現

Node.js與Sails~自定義響應體responses

Node.js與Sails~日志機制log

Node.js與Sails~方法攔截器policies

Node.js與Sails~Model數據模型

Node.js與Sails~Model和ORM的持久化

Node.js與Sails~中間查詢語言Waterline

擴展組件系列

Node.js與Express

Node.js的事件機制

Node.js的異步I/O機制

Node.js與MongoDb

Node.js與Sails~redis組件的使用

Node.js~ioredis處理耗時請求時連接數瀑增

Node.js與Sqlserver

 

永久更新中...


文章列表




Avast logo

Avast 防毒軟體已檢查此封電子郵件的病毒。
www.avast.com


arrow
arrow
    全站熱搜
    創作者介紹
    創作者 大師兄 的頭像
    大師兄

    IT工程師數位筆記本

    大師兄 發表在 痞客邦 留言(0) 人氣()