Sobes.tech
Junior — Middle

Pode explicar o princípio de funcionamento do ciclo de processamento de eventos em sistemas assíncronos?

sobes.tech IA

Resposta da IA

O ciclo de eventos (event loop) em sistemas assíncronos como o Node.js é responsável por gerir a execução de operações assíncronas sem bloquear o thread principal.

Princípio de funcionamento:

  1. Todas as operações que requerem tempo (por exemplo, leitura de ficheiros, pedidos de rede) são enviadas para a fila de eventos.
  2. O ciclo de eventos verifica constantemente essa fila e, quando uma operação termina, chama o callback ou manipulador correspondente.
  3. O thread principal não fica bloqueado, continua a executar o próximo código até que apareçam eventos concluídos.

Isto permite usar os recursos de forma eficiente e processar muitas operações em paralelo, apesar da natureza de thread único do Node.js.

Exemplo:

console.log('Início');
setTimeout(() => {
  console.log('Evento assíncrono');
}, 1000);
console.log('Fim');

A saída será:

Início
Fim
Evento assíncrono

Porque o setTimeout coloca a função na fila de eventos, e o ciclo de eventos a chama mais tarde.