Node JS线程混乱



我是node.js的新手。我对它的了解是它是单线程的。它使用一个线程。现在,如果我有一个 CPU 6 核或 12 个线程,它将只使用 1 个线程。其他 11 个线程会发生什么情况?它们对节点.js毫无用处吗?

是的,除非您使用:

  • child_process模块中的一些函数,例如spawn
  • (不再如此(新模块worker_threads

如果您有一台只有一个节点.js实例的服务器,则不需要超过 2 个 CPU:

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

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

您还可以进行微调以将CPU分配给节点.js核心(linux亲和力(,但好处可能很难衡量。

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

最新更新