Grupo de hilos cómo cuándo y quién lo utilizó:
En primer lugar, cuando usamos / instalamos Node en una computadora, inicia un proceso entre otros procesos que se llama proceso de nodo en la computadora, y sigue ejecutándose hasta que lo matas. Y este proceso en ejecución es nuestro llamado hilo único.

Por lo tanto, el mecanismo de un solo hilo facilita el bloqueo de una aplicación de nodo, pero esta es una de las características únicas que Node.js trae a la mesa. Entonces, nuevamente, si ejecuta su aplicación de nodo, se ejecutará en un solo hilo. No importa si tiene 1 o un millón de usuarios accediendo a su aplicación al mismo tiempo.
Entonces, entendamos exactamente qué sucede en el hilo único de nodejs cuando inicia su aplicación de nodo. Al principio, se inicializa el programa, luego se ejecuta todo el código de nivel superior, lo que significa que todos los códigos que no están dentro de ninguna función de devolución de llamada ( recuerde que todos los códigos dentro de todas las funciones de devolución de llamada se ejecutarán en el bucle de eventos ).
Después de eso, todo el código de los módulos ejecutado y luego registra toda la devolución de llamada, finalmente, se inició el ciclo de eventos para su aplicación.

Entonces, como discutimos antes, todas las funciones de devolución de llamada y los códigos dentro de esas funciones se ejecutarán en el bucle de eventos. En el bucle de eventos, las cargas se distribuyen en diferentes fases. De todos modos, no voy a discutir sobre el ciclo de eventos aquí.
Bueno, en aras de una mejor comprensión del grupo de subprocesos, le solicito que imagine que en el bucle de eventos, los códigos dentro de una función de devolución de llamada se ejecutan después de completar la ejecución de códigos dentro de otra función de devolución de llamada, ahora si hay algunas tareas son realmente demasiado pesadas. Luego bloquearían nuestro hilo único de nodejs. Y ahí es donde entra el grupo de subprocesos, que es como el bucle de eventos, que la biblioteca libuv proporciona a Node.js.
Por lo tanto, el grupo de subprocesos no es parte de nodejs en sí mismo, libuv lo proporciona para descargar tareas pesadas a libuv, y libuv ejecutará esos códigos en sus propios subprocesos y, después de la ejecución, libuv devolverá los resultados al evento en el bucle de eventos.

El grupo de subprocesos nos da cuatro subprocesos adicionales, que están completamente separados del subproceso principal único. Y de hecho podemos configurarlo hasta 128 hilos.
Entonces, todos estos hilos juntos formaron un grupo de hilos. y el bucle de eventos puede descargar automáticamente tareas pesadas al grupo de subprocesos.
La parte divertida es que todo esto sucede automáticamente detrás de escena. No somos nosotros los desarrolladores quienes decidimos qué va al grupo de subprocesos y qué no.
Hay muchas tareas que van al grupo de subprocesos, como
-> All operations dealing with files
->Everyting is related to cryptography, like caching passwords.
->All compression stuff
->DNS lookups