javascript - Node.js 的缺点?

标签 javascript node.js multithreading

免责声明,我对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/

相关文章:

java - 基于 Java 的 Web 应用程序与独立 Java 应用程序中的多线程有何不同

java - 在 servlet 中启动一个新线程

javascript - 带有 setTimeout 或 setInterval 的 jQuery 插件

javascript - 使用Jquery/Ajax将页面加载到Div中(点击功能不起作用)

Javascript - 更改二维数组的名称

node.js - 范围错误 : Invalid array buffer length Error - Reaction Commerce Installation

node.js - 如何使用 Node 和 Express 建立客户/客户风格的子域

c# - 使 MTA 中的锁定更容易

javascript - 如果无法访问原始代码,是否有 html 或 js 代码为 GoDaddy 模板发送按钮提供视觉焦点

javascript - 在 CommonJS Node 应用程序中导入 ES6 模块?