非阻塞IO: node.js使用了事件轮询 setTimeout是非阻塞的: 对于像http,net等原生模块中IO部分也采用了事件轮询,其本质是: 当node接受到浏览器的http请求时,底层的TCP连接会分配一个文件描述符:然后,当客户端向服务器发送数据,node会收到该文件描述符上的通知,然后促发回调函数. 单线程: 当V8首次调用一个函数时,会创建一个调用堆栈:如果这个函数再调用其他函数,V8会把它添加到调用堆栈中:在单线程的环境下,当调用堆栈展开时,node就无法处理其他请求. 所以实…