Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

238
Visualizações
¿Un controlador de eventos de "mensaje" procesa mensajes en serie o concurrente?

Si alguna página A envía una secuencia de mensajes a la página B que los escucha y los maneja, ¿el detector de eventos procesa esos mensajes en serie? Si lo hace de manera concurrente, debo tener cuidado con las carreras de datos, ¿no?

En particular, considere alguna página A (en https://a.example.com/index.html ):

 <script> const win = open('https://b.example.com/index.html'); setTimeout(() => { for (let i = 0; i < 1024; i++) { win.postMessage(i, '*'); } }, 1000); </script>

y la página B (en https://b.example.com/index.html ):

 <script> let count = 0; window.addEventListener('message', () => {count++}); </script>

Cuando se han procesado todos los mensajes, ¿se garantiza que la variable de count de la página B tenga el valor 1024 ? ¿O no existe tal garantía, porque los mensajes se procesan de manera simultánea y es posible que se pierdan las actualizaciones de la variable de count ?

El estándar de mensajería web no es el más fácil de leer... Menciona colas , que parecen indicar el manejo de mensajes en serie (no concurrentes), pero me gustaría estar seguro.

about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

Cada MessagePort tiene su propia cola (fuente de tareas) donde se ponen en cola todos los mensajes. Luego, cuando el bucle de eventos elija esta cola, se enviará un evento desde la tarea en cola. El bucle de eventos siempre elegirá la tarea más antigua de una cola (orden FIFO). Bueno, para ser técnicamente correcto al 100%, elegirá la primera tarea ejecutable de la cola de tareas, pero en este caso particular es exactamente lo mismo.

Si A es la única fuente de un mensaje nuevo en B , entonces sí, puede estar seguro de que el valor será 1024 .

about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda