为什么node.js不适用于涉及大量CPU处理或计算的服务器应用程序



考虑到node.js是为服务器应用程序设计的,可以处理比其他竞争解决方案多得多的并发连接,为什么它不适合涉及繁重处理的服务器应用程序呢?

简短的回答:因为nodejs是单线程的,和javascript一样

因为node.js的设计是围绕使用一个线程非常有效。它的基于事件的模型在特定事件发生时分派代码片段。这些代码片段应该执行得非常快,然后将控制权返回给node.js,然后调度下一个事件。

如果其中一个代码片段执行了一个长时间运行的任务,那么就不会再分配事件,整个系统就会挂起。

Node js运行在单线程上,而其他流行的服务器端语言运行在多线程上。因此,繁重的CPU操作会阻塞整个线程。

最新更新