【发布时间】:2020-03-13 22:40:09
【问题描述】:
假设我有一个 4 核 CPU,这基本上意味着我的计算机可以同时运行 4 个进程;不多不少。 现在让我们看一下nodejs的集群模块;有
- 1 个主进程
- 4 个工作进程
我可以说,每个工作进程都要分配给CPU的每个核心吗? 如果是,那么它的主进程在哪里?
【问题讨论】:
标签: node.js
假设我有一个 4 核 CPU,这基本上意味着我的计算机可以同时运行 4 个进程;不多不少。 现在让我们看一下nodejs的集群模块;有
我可以说,每个工作进程都要分配给CPU的每个核心吗? 如果是,那么它的主进程在哪里?
【问题讨论】:
标签: node.js
主进程作为标准单线程进程(或服务)被触发,因此它被“分配给”并存在于您的一个 CPU 内核(或线程,视情况而定)上。
然后生成每个工作进程 (forked),如文档中所述:
https://nodejs.org/api/cluster.html
如您所知,Node 现在支持使用 worker_threads 在多个线程上并行执行 JavaScript,因此从技术上讲,Node 不再受单线程执行的限制:
【讨论】: