宝付初识单线程的 Node.js

从Node.js进入人们的视野时,我们所知道的它就由这些关键字组成  事件驱动、非阻塞I/O、高效、轻量,它在官网中也是这么描述自己的。

Node.js® is a JavaScript runtime built on Chrome’s V8 JavaScript engine. Node.js uses an  event-drivennon-blocking I/O model that makes it  lightweight and  efficient.

于是,会有下面的场景出现:

当我们刚开始接触它时,可能会好奇:

  • 为什么在浏览器中运行的 Javascript 能与操作系统进行如此底层的交互?

当我们在用它进行文件 I/O 和网络 I/O 的时候,发现方法都需要传入回调,是异步的:

  • 那么这种异步,非阻塞的 I/O 是如何实现的?

当我们习惯了用回调来处理 I/O,发现当需要顺序处理时,Callback Hell 出现了,于是有想到了同步的方法:

  • 那么在异步为主的 Node.js,有同步的方法嘛?

身为一个前端,你在使用时,发现它的异步处理是基于事件的,跟前端很相似:

  • 那么它如何实现的这种事件驱动的处理方式呢?

当我们慢慢写的多了,处理了大量 I/O 请求的时候,你会想:

  • Node.js 异步非阻塞的 I/O 就不会有瓶颈出现吗?

之后你还会想:

  • Node.js 这么厉害,难道没有它不适合的事情吗?


来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/69905323/viewspace-2655576/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/69905323/viewspace-2655576/

你可能感兴趣的:(javascript,前端,runtime)