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:
- Todas as operações que requerem tempo (por exemplo, leitura de ficheiros, pedidos de rede) são enviadas para a fila de eventos.
- O ciclo de eventos verifica constantemente essa fila e, quando uma operação termina, chama o callback ou manipulador correspondente.
- 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.