Node.js线程混乱

时间:2019-04-01 08:06:41

标签: node.js

我是node.js的新手。我了解的是它是单线程的。它使用一个线程。 现在,如果我有6个核心或12个线程的CPU,它将仅使用1个线程。其他11个线程将如何处理?它们对node.js没用吗?

1 个答案:

答案 0 :(得分:0)

是的,除非您使用:

  • 来自child_process模块的某些功能,例如spawn
  • (不再是)新模块worker_threads

如果一台服务器仅具有 个node.js实例,则不需要两个以上的CPU:

  • 一个用于node.js实例
  • 一个用于libuv线程池(主要是I / O)

考虑到这是一个估计,全部取决于SO,因为SO当然有时也需要CPU。

您还可以进行微调以将CPU分配给node.js内核(linux affinity),但是其好处可能很难衡量。

如果服务器中有其他软件,或者您运行多个节点实例,那么当然,更多的CPU将执行更多的操作。