第二遍总结
- Node.js通过
libuv
来处理与操作系统的交互,并且因此具备了异步、非阻塞、事件驱动的能力 - Node.js实际上是JavaScript执行线程的单线程,真正的I/O操作,底层API调用都是通过多线程执行的
- CPU密集型的任务是Node.js的软肋
第三遍总结(2018-06-29):
-
libuv
是整个node.js如此牛逼的关键所在 - 他为整个node.js提供标准的api让上层js不用关注各种层面的差别
- 他是事件驱动的,轮循
while true
来完成事件的操作 - 一个对象进来然后一个对象出去
第四遍总结(2018.6.30):
- 真个三层结构显示各种node.js的各种库,这些都是由js来写的,然后函数传到到bilding中通过bilding调用底层的v8引擎进行编译,之后传到到libuv里面进行执行,这里的执行都是通过c/c++代码系统进行交互,所以整个过程中js只是作为一门语言呈现事件,而不进行执行,所以效率低的问题也就不存在了
- 关键词:请求对象,事件循环,result属性、参数,回调函数,I/O线程池,观察者队列、timer、