【Web前端基础】node有哪些特征

2021-01-29 10:32发布

4条回答
haotata
2021-02-02 09:31

node一般来说有三大特征,异步I/O, 单线程,事件驱动。

异步I/O,也叫非阻塞式I/O,I就是input数据的写入,O就是Output数据的读取。计算机中CPU发出读写的指令速度非常快的,但磁盘的读写是比较耗时的,正常的同步I/O就会造成CPU的性能浪费,异步I/O可以让CPU在等待磁盘读写期间先执行别的程序,等读写完成后再使用回调函数执行后面的操作。

关于单线程,Node的哲学是与其很多人闲着,不如把一个人忙死。Node.js不为每个客户连接创建一个新的线程,而仅仅使用一个线程(thread)。当有用户连接了,就触发一个内部事件,通过非阻塞I/O、事件驱动机制,让Node.js程序宏观上也是并行的。使用Node.js,一个8GB内存的服务器,可以同时处理超过4万用户的连接。

事件驱动是NodeJS的底层机制,我们只需要了解NodeJS不会“上错菜”的原因就是事件驱动,有一个事件环。


一周热门 更多>