**
node环境中包含了以下几个模块:
**
v8: google开发的js的解析器,执行js代码的部分
bindings: node中提供常用方法的模块 我们使用的node中的方法,都是这个模块提供的
libuv: 它是基于事件驱动的异步IO模型库
注意: APPLICATION代表我们写的js代码
非阻塞IO
当V8引擎执行代码时遇到IO操作时, node系统直接把这个IO操作交给LIBUV,然后让v8引擎立即往下执行. 而不会等待I/O结束后,再去处理下面的业务. 这就是node环境中的非阻塞I/O. (在node环境下, 网络请求,文件读写可以理解为IO操作,代码中的setTimeout也可以简单理解为IO操作).
事件驱动
这些I/O操作会放在一个事件处理队列里头.I/O操作完之后会执行这个IO的回调函数
希望帮到正在奋斗的你,遇见更好的你。
这篇文章哪里还不足的话,希望路过的大神指点指点小弟。