是否可以在 NodeJS 中同时运行多个相同的程序?

时间:2021-03-08 08:17:29

标签: node.js multithreading

我有一个程序可以模拟一些硬件行为和硬件操作。该程序将接受不同硬件设备的输入并对其进行模拟。

现在我想执行一个测试,其中多个硬件一起模拟。我可以让程序像这样运行吗?例如,同一个程序同时运行它的 5 个副本。

我认为类似于 C# 中的线程。 NodeJS 能达到同样的效果吗?我在 NodeJS 上搜索了多线程,但结果并不多。

感谢有人能帮忙,谢谢!

1 个答案:

答案 0 :(得分:1)

了解 Node 如何在幕后处理并发可能会令人难以置信地令人生畏,但同时也是有益的。本质上,Node 运行在单个线程上,并在内部使用线程池。

这是否意味着它一次只能处理一个请求?是和否先生。

您的问题的答案取决于您正在运行的任务类型。如果是数据库 I/O,那么是的,节点可以并行处理多个请求。您可以使用 async/await 来实现这一点。

但是,如果您的任务是计算性的,即我认为是 CPU 密集型的,那么它将阻塞主线程,直到该计算完成。换句话说,它一次只会处理一个请求。

您可以阅读以下文章以了解什么是阻塞/非阻塞操作。 https://nodejs.org/en/docs/guides/dont-block-the-event-loop/

相关问题