node源码详解 (一)
本作品采用知识共享署名 4.0 国际许可协议进行许可。转载保留声明头部与原文链接https://luzeshu.com/blog/nodesource1
本博客同步在https://cnodejs.org/topic/56e3bd61f5d830306e2f0fd2
本博客同步在http://www.cnblogs.com/papertree/p/5225009.html
1.1 好奇哪些问题?
分析源码(以4.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. 然后就是逐个问题的解说。
现在开始下一篇博客吧。