Node.js maneja las solicitudes simultáneas utilizando un mecanismo llamado ciclo de eventos (Event Loop). En lugar de ser bloqueante o multi-hilo, Node.js opera en un único hilo con eventos de E/S no bloqueantes.
El ciclo de eventos permite a Node.js manejar múltiples operaciones simultáneamente sin tener que cambiar entre hilos. Esto ayuda a evitar la sobrecarga de cambiar de contexto, lo que puede ser costoso en términos de rendimiento.
Cuando llega una solicitud, se envía al ciclo de eventos y se procesa de forma asíncrona. Si hay una operación intensiva en la CPU o una operación de E/S a realizar, como leer desde la red, acceder a la base de datos o al sistema de archivos, Node.js no espera a que se complete esta operación. En su lugar, registra una callback y continúa procesando el resto de las solicitudes.
Cuando la operación de E/S se completa, la función de callback se agrega a la cola de tareas del ciclo de eventos y se ejecuta en su debido momento. Así, Node.js puede manejar más solicitudes y aprovechar mejor la CPU y la memoria porque no tiene que generar y administrar múltiples hilos.