node简介--node三大特性

三大特点

单线程

非阻塞I/O

事件驱动

1. 单线程

Node 不为买个用户连接创建一个 线程,而是只通过一个 线程

这样做的好处:系统就不需要有创建线程,和销毁的时间的开销,是性能更好

缺点:单线程的阻塞的问题。(一个崩溃了 ,其他的都崩溃了)

2.非阻塞 I/O

I/O阻塞了代码的执行,node就是非阻塞的i/o,在执行完访问数据库的代码之后,将立即执行后面 的代码,而不是等待,而是将处理数据的过程放在回调函数中,提高了效率

为了处理异步的I/O线程就必须要有事件的循环,不断的检查有没有未处理的事件,依次的予以处理

需要注意的是这里的 

与阻塞模式的对比

阻塞模式是一个线程只能处理一项任务。非阻塞 模式就是一直持续的这样的计算,使这个线程的利用率是100%

3. 事件驱动

node 底层是用一个线程处理了多个事件的处理的使命

事件的机制:

指向函数1的任务时候,函数2的回调完成了。都以事件的方式加入事件环,等待调度。

需要注意的 是这里满函数2的回调的执行的优先级更高一些。

以上三个特点都是环环相扣的

原文地址:https://www.cnblogs.com/helloLeon/p/5595091.html