node基础---01异步和事件触发

222 阅读1分钟

不管浏览器还是服务器javascript都是事件驱动(用事件轮询)和非阻塞的I/O处理(用异步 I/O)

浏览器

  • 异步不阻塞后续脚本执行

  • 同步阻止后续脚本执行

服务器

传统的服务端编程的I/O模型,下面是一个PHP的例子:

传统服务器: 如果程序在I/O上阻塞了,当有更多请求过来时,服务器会怎么处理呢?在这种情景中通常 会用多线程的方式。

node服务器: 在Node中,I/O几乎总是在主事件轮询之外进行,使得服务器可以一直处于高效并且随时能 够做出响应的状态,就像NGINX一样。这样进程就更加不会受I/O限制,因为I/O延迟不会拖垮服 务器,或者像在阻塞方式下那样占用很多资源。