事件驱动模型

创新互联专注于企业网络营销推广、网站重做改版、美兰网站定制设计、自适应品牌网站建设、H5建站、商城网站定制开发、集团公司官网建设、成都外贸网站制作、高端网站制作、响应式网页设计等建站业务,价格优惠性价比高,为美兰等各大城市提供网站开发制作服务。
现在我们来看看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'); // 运行到这里之前,事件循环是暂停的
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持创新互联。