免责声明,我对node.js的了解主要有几篇文章总结于此http://en.wikipedia.org/wiki/Node.js
也就是说,我的理解是它应该非常快,因为它避免了线程的开销。它将所有内容放入一个循环中,而不是在进程之间切换的开销。我认为存在一种在线程之间完全切换上下文的复杂方法是有原因的。我的问题是,与 Node.js 方法相比,使用线程有什么好处?
最佳答案
Node.js 在处理 IO 密集型任务时速度非常快,因为它的事件模型完美支持 IO 延迟。另一方面,它完全无法在不停止一切的情况下执行 CPU 密集型任务。因此,如果你需要一些繁重的计算,你会想要 fork 一个 worker 来为你做这件事。
无论线程在做什么,线程模型都会自动切换上下文,因此可以处理 CPU 密集型作业,而不会对其他线程产生太大的负面影响。 (或者更确切地说,它们仍然可以工作,只是在达到 CPU 容量时速度会变慢。)
关于javascript - Node.js 的缺点?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30447977/