事件驅動模型
現在我們來看看nodejs中的事件驅動和異步I/O是如何實現的.
nodejs是單線程(single thread)運行的,通過一個事件循環(event-loop)來循環取出消息隊列(event-queue)中的消息進行處理,處理過程基本上就是去調用該消息對應的回調函數。消息隊列就是當一個事件狀態發生變化時,就將一個消息壓入隊列中。
nodejs的時間驅動模型一般要注意下面幾個點:
下面我們從一個簡單的js文件入手,來看看 nodejs是如何執行的。
var fs = require("fs");var debug = require('debug')('example1');debug("begin");fs.readFile('package.json','utf-8',function(err,data){ if(err) debug(err); else debug("get file content");});setTimeout(function(){ debug("timeout2");}); debug('end'); // 運行到這里之前,事件循環是暫停的以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持武林網。
新聞熱點
疑難解答