node源码详解 (一)

5822b55c3a48ad366440e4f7 Luzeshu 星期六, 2016年3月12日 3

本作品采用知识共享署名 4.0 国际许可协议进行许可。转载联系作者并保留声明头部与原文链接https://luzeshu.com/blog/nodesource1
本博客同步在https://cnodejs.org/topic/56e3bd61f5d830306e2f0fd2
本博客同步在http://www.cnblogs.com/papertree/p/5225009.html


1.1 好奇哪些问题?

分析源码(基于v4.2.2)之前,先带上几个问题:

  1. node 如何执行js代码?在哪里?
  2. js代码的异步io接口,如何作用到node?
    调用server.listen(80)函数如何让node挂起?
    而console.log('xxx')时node就退出?
  3. 对“事件循环”这个词耳熟能详,那么具体细节如何?
  4. node的文件异步io操作和网络异步io操作事实上并不一样,文件异步io 另外交给线程池处理,那么这里的细节又如何?


1.2 讲解思路

带着上面几个关键问题,结合以下几个方面进行讲解:

  1. 既然是源码,那么会给出上面问题的关键代码位置。
  2. 为了对上面几个问题在整个运行流程中有个清楚的定位,会给出一个整体流程图,并做下必要解说。
  3. 然后就是逐个问题的解说。

现在开始下一篇博客吧。

3 Comments:
879c4eae-4297-48a5-b499-bea180cb0fa8

2016-05-23 14:30:39

Mark From Noder

e5c83662-5012-4874-8faf-dca0eeb24b00

2016-08-30 08:34:33

mark

582d6f60cfcdb75e67a1e7c3
2016-11-17 16:50:40

支持下

声明:电子邮箱用于接收回复的通知邮件(来自<mail@luzeshu.com>,请勿回复至此邮箱)。
163邮箱可正常接收,gmail邮箱注意查看垃圾邮件,qq邮箱由于ip频率限制可能无法成功投递。