Understanding the node.js event loop

在学习 node.js 的过程里,为了真正地学会去运用这个强大而有趣语言,发现了几篇好文章,这里是其中一篇的阅读笔记与翻译


1. I/O 是很占用时间的,包括了一级二级缓存,RAM,Disk,和网络延迟。资源最大的损耗在于 I/O 的等待时间。面对这个问题有 3 个解决办法:

1.1 同步(synchronous) :任意请求能被同时运作

1.2 fork a new process:缺点:占用存储空间过多

1.3 线程:

Node.js 为非多线程的,因为多线程带来了严重的 memory 损耗。它是基于事件的。


2. 不能平行进行代码的处理,代码正在运行时,Node.js 并不能响应其它请求,尽管当前只有一个进程正在被运行;就像说,有耗费 cpu 的任务,像图片的重置。就会阻塞其它请求了;


3.  在一个请求之下,不可能让代码实现平行操作。然而,所有 I/O 是被事件化与异步化的


4. 在 node.js 不必担心后台所发生的事:就只是当发生 I/O 操作时,用好 callbacks 就ok了。你会喜闻乐见地看到,我们的代码永远不会冲突;并且 I/O 事件时不会阻塞其它每次请求都耗占资源的请求。异步 I/O 很好,最讨厌莫过于等待 I/O 了;

     所以稍后当数据可以切实被使用的时候,才会 callback 回调

     当让在后台, threads and processes for DB access and process execution 还是有的。然而这不会真切地在代码里显现。

...............................

.................

......


原文来源于:http://blog.mixu.net/2011/02/01/understanding-the-node-js-event-loop/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值