本文参考自 《Nodejs 开发指南》 和 《Nodejs 实战》 两本书。
异步 I/O
Node.js 最大的特点就是采用了异步 I/O 与事件驱动的架构设计。
|
|
这一小段代码是 jQuery 中的 Ajax 请求,我们知道这个结果函数是异步的,等服务器响应结果后才会执行。
对于一些高并发的需求,传统的解决方法是多线程模型,每个业务提供一个线程系统,通过切换和调度线程来实现高并发中的等待开销。但是这样做无疑又增加了线程管理和调度的开销。
Nodejs 采用的是单线程模型,对于所有的 I/O 操作(阻塞操作)都采用类似上面 Ajax 请求的异步的请求方式,避免了频繁切换线程。
