考虑到node.js是为服务器应用程序设计的,可以处理比其他竞争解决方案多得多的并发连接,为什么它不适合涉及繁重处理的服务器应用程序呢?
简短的回答:因为nodejs是单线程的,和javascript一样
因为node.js的设计是围绕使用一个线程非常有效。它的基于事件的模型在特定事件发生时分派代码片段。这些代码片段应该执行得非常快,然后将控制权返回给node.js,然后调度下一个事件。
如果其中一个代码片段执行了一个长时间运行的任务,那么就不会再分配事件,整个系统就会挂起。
Node js运行在单线程上,而其他流行的服务器端语言运行在多线程上。因此,繁重的CPU操作会阻塞整个线程。