小编Nic*_*ick的帖子

Nodejs的内部线程池如何工作?

我已经阅读了很多关于NodeJ如何工作的文章.但我仍然无法弄清楚Nodej的内部线程是如何进行IO操作的.

在这个答案/sf/answers/1424258181/中,他说NodeJ的线程池中有4个内部线程来处理I/O操作.那么,如果我同时有1000个请求,每个请求都想进行I/O操作,例如从数据库中检索大量数据.NodeJs将分别​​将这些请求传递给这4个工作线程,而不会阻塞主线程.因此,NodeJ可以同时处理的最大I/O操作数是4个操作.我错了吗?.

如果我是对的,剩下的请求将在哪里处理?主要的单线程是非阻塞的并且继续将请求驱动到相应的操作员,那么这些请求在所有工作线程充满任务的情况下会在哪里进行?.

在下图中,所有内部工作线程都充满了任务,假设它们都需要从数据库中检索大量数据,并且主要单线程继续向这些工作者发送新请求,这些请求将在何处进行?是否有内部任务queuse来存储这些请求?

在此输入图像描述

javascript multithreading event-loop node.js

11
推荐指数
1
解决办法
6070
查看次数

标签 统计

event-loop ×1

javascript ×1

multithreading ×1

node.js ×1