Node.js非阻塞IO和事件循环学习总结
Node.js非阻塞IO和事件循环学习总结
摘要 本文针对在Node.js关键的两个概念:非阻塞IO和事件循环进行了适当的总结。
目录
非阻塞的IO模型
事件循环 event loop
小结
学习和使用Node.js已经有两个月,使用express结合mongoose写了一个web应用和一套RESTful web api,回过头来看Node.js官网首页对Node.js的介绍:Node.js uses an event-driven, non-blocking I/O model that makes it lightweight and efficient.那么其中的non-blocking I/O model 意味着什么呢?
非阻塞的IO模型
首先,IO操作无疑是耗时的,当服务器端接收到大量请求时,为每一个请求创建进程或线程的同时,也增加了额外的内存开销,也可能浪费更多的时间资源。
由于Node.js是事件驱动的,于是它使用了事件循环来解决IO操作带来的瓶颈问题。在Node.js中,一个IO操作通常会带有一个回调函数,当IO操作完成并返回时,就会调用这个回调函数,而主线程则继续执行接下来的代码。简单的用一个例子来说明这个问题:
request('
Node.Js入门[PDF+相关代码]
Node.js开发指南 高清PDF中文版 +源码
Node.js入门开发指南中文版
Node.js安装与配置
Ubuntu 编译安装Node.js
Node.js 的详细介绍:请点这里
Node.js 的下载地址:请点这里
本文永久更新链接地址:
评论暂时关闭