nodejs是单进程单线程的应用程序,但是通过事件和回调支持并发。每一个API都是异步的,并作为一个独立的线程运行,使用异步函数调用,并处理并发。
nodejs基本上所有的事件机制都是用设计模式中观察者模式实现
nodejs的事件驱动程序
nodejs使用事件驱动模型,当 webserver接收到请求时,就把它关闭,然后进行处理,然后去服务下一个web请求。当这个请求完成,他被放回处理队列,当达到队列开头,这个结果被返回给用户
nodejs的事件模型非常高效可扩展性非常强,因为webserver一直接受请求,而部等待任何的读写操作(这也被称之为非阻塞式IO或者事件驱动IO)