Node.js 多核多进程节点应用程序和单核单进程节点应用程序性能有什么区别

Node.js 多核多进程节点应用程序和单核单进程节点应用程序性能有什么区别,node.js,libuv,Node.js,Libuv,我很困惑libuv是否有线程池机制,使用多个进程的必要性是什么 报告说(我的重点): libuv提供了一个线程池,可用于运行用户代码并在循环线程中获得通知。此线程池在内部用于运行所有文件系统操作,以及getaddrinfo和getnameinfo请求 总之,首先,libuv在内部使用多个线程来运行阻塞操作,而不阻塞循环(文件系统,DNS)。 其次,出于同样的原因,您可以或多或少地使用它们。假设您有一个cpu限制的任务,您不知道如何/不想/无法分割成不同的部分,通过不同的标记执行,您仍然可以生成一

我很困惑libuv是否有线程池机制,使用多个进程的必要性是什么

报告说(我的重点):

libuv提供了一个线程池,可用于运行用户代码并在循环线程中获得通知。此线程池在内部用于运行所有文件系统操作,以及getaddrinfo和getnameinfo请求

总之,首先,
libuv
在内部使用多个线程来运行阻塞操作,而不阻塞循环(文件系统,DNS)。

其次,出于同样的原因,您可以或多或少地使用它们。假设您有一个cpu限制的任务,您不知道如何/不想/无法分割成不同的部分,通过不同的标记执行,您仍然可以生成一个线程(实际上是一个工作请求),并让它在单独的线程上执行。这样,您的循环就不会陷入等待这些任务的停滞状态。

sry。我不太明白你的意思。即使没有多进程,libuv线程仍然会在许多内核中进行上下文切换。我想,是否是多任务不影响事件循环performance@bugall在多处理器系统中,通常使用平衡器生成更多的循环来分配负载。因此,您可以将它们视为单个cpu上的独立进程。