Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

233
Views
¿Cómo se ejecutan miles de setTimeout() y esperan simultáneamente en Javascript?

Escribí una aplicación cliente-servidor de javascript donde envío 1000 solicitudes HTTP a mi servidor (escuchando en localhost: 5000) y espero la respuesta para cada una:

 const SendRequest = async () => { const res = await fetch("http://localhost:5000") return res } for(let i=0;i<1000;i++) { SendRequest().then(res => console.log(res.status)) console.log("request sent") }

Cuando ejecuté el código anterior usando nodejs, se registraron 1000 mensajes de "solicitud enviada" en la consola y luego, después de un tiempo, vi que se registraron 1000 respuestas del servidor en rápida sucesión.

Según tengo entendido, Javascript tiene un solo subproceso, pero nodejs puede usar otros subprocesos para manejar cosas como setTimeout y esperar una respuesta HTTP (ref: ¿Qué diablos es el bucle de eventos de todos modos? | Philip Roberts | JSConf EU ). Mi sistema tiene 6 núcleos y 12 subprocesos. Mi pregunta es: ¿cómo puede esperar miles de tales operaciones a la vez, incluso si usa los 12 subprocesos?

Aquí está el código del lado del servidor:

 app.get("/", async (req, res) => { console.log("Connection established"); setTimeout(() => { console.log("Sending res") res.send("Hello from the server") }, 5000) //send response after waiting for 5 seconds })

Aquí, vi "Conexión establecida" registrada 1000 veces cuando envié las solicitudes del cliente y 5 segundos después, "Enviando res" se registró 1000 veces en cuestión de milisegundos y todas las 1000 respuestas enviadas a la vez que fueron recibidas por el cliente. Nuevamente, mi pregunta es similar, ¿cómo se ejecutaron simultáneamente estos 1000 setTimeouts, cada uno de 5 segundos, incluso si usamos todos los subprocesos en el sistema?

about 4 years ago · Juan Pablo Isaza
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!