Nodejs 中能否充分利用多核处理器?
Node.js 应用程序总是单线程的模型,即使在多核处理器上运行,应用程序也能只使用一个处理器。但是 Node.js 的核心模块之一 Cluster 支持 Node.js 应用程序开启多核,允许我们创建多个工作进程,这些进程可以在多个内核上并行运行,并共享一个端口来侦听事件。
在单核 CPU 系统之上我们采用 单进程 + 单线程 的模式来开发。
在多核 CPU 系统之上,可以通过 child_process.fork 开启多个进程(Node.js 在 v0.8 版本之后新增了 Cluster 来实现多进程架构) ,即 多进程 + 单线程 模式。
注意:开启多进程不是为了解决高并发,主要是解决了单进程模式下 Node.js CPU 利用率不足的情况,充分利用多核 CPU 的性能。