Dart Academy · Aula

O loop de eventos e as microtarefas

Entenda como Dart agenda trabalhos assíncronos.

Aula 1 de 413 etapas

O loop de eventos e as microtarefas é uma aula grátis de Dart Academy no CoddyKit. Esta é a aula 1 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de Dart Academy, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de Dart Academy inclui 4 aulas no total.

Uma thread, sem espera

Dart executa seu código em uma única thread, mas nunca congela. O segredo é o loop de eventos, que agenda o trabalho em vez de bloqueá-lo. ⚡

O que o loop de eventos faz

O loop de eventos é um ciclo simples: escolher a próxima tarefa pendente, executá-la até o fim e repetir. Seu código é executado em blocos organizados e ininterruptos.

O síncrono vem primeiro

Todo o seu código comum, executado de cima para baixo, é executado primeiro. Somente quando esse trabalho síncrono termina o loop começa a tratar as tarefas agendadas.

Duas filas

O loop retira itens de duas filas: a fila de microtarefas e a fila de eventos. As microtarefas sempre passam à frente dos eventos.

A fila de microtarefas

Uma microtarefa é um pequeno trabalho adiado, como uma função de retorno de chamada de um Future concluído. O loop esvazia todas as microtarefas antes de acessar a fila de eventos.

A fila de eventos

A fila de eventos contém itens maiores: temporizadores, leituras de arquivos, toques e respostas de rede. Eles aguardam até que todas as microtarefas terminem.

Agendando uma microtarefa

Você pode enviar trabalho para a fila de microtarefas com scheduleMicrotask. Ele será executado depois do código atual, mas antes de qualquer evento.

scheduleMicrotask(() => print("microtask"));
print("right now");

Agendando um evento

Um temporizador (ou Future.delayed com zero) coloca uma função de retorno de chamada na fila de eventos, para que ela seja executada depois de todas as microtarefas pendentes.

Timer.run(() => print("event"));
print("right now");

As microtarefas vencem

Se ambos estiverem na fila, a microtarefa será executada primeiro. Essa ordem mantém as cadeias de Future rápidas e previsíveis.

scheduleMicrotask(() => print("A"));
Timer.run(() => print("B"));
// prints A then B

Por que tudo continua fluido

Como cada tarefa é executada até o fim, seu aplicativo nunca fica parcialmente atualizado. O loop mantém tudo responsivo sem exigir gerenciamento manual de threads.

Não deixe o loop sem recursos

Encher a fila de microtarefas pode bloquear os eventos indefinidamente, congelando a entrada. Mantenha o trabalho das microtarefas curto e permita que os eventos tenham sua vez.

Verificação rápida

Verificação rápida sobre a ordem das filas.

Recapitulação: o loop de eventos

Você aprendeu que o loop de eventos executa primeiro o código síncrono, depois esvazia as microtarefas e, por fim, trata os eventos. Essa ordem mantém Dart em uma única thread, mas fluido. 🎉

Grátis para começar

Aprenda Dart com um tutor de IA — grátis

Escreva e execute código real no seu navegador, obtenha ajuda instantânea de um tutor de IA 24/7 e continue de onde parou na web ou no app.

Cursos
30
Aulas
120

Perguntas Frequentes

A aula “O loop de eventos e as microtarefas” é grátis?

Sim — o texto completo de “O loop de eventos e as microtarefas” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de Dart Academy, atualize para CoddyKit PRO. O curso de Dart Academy inclui 4 aulas no total.

O que vou aprender em “O loop de eventos e as microtarefas”?

Entenda como Dart agenda trabalhos assíncronos. Você pratica Dart Academy com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.

Preciso ter experiência prévia para começar Dart Academy?

Nenhuma experiência prévia é necessária. Dart Academy no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 1 de 4.

Quanto tempo leva a aula “O loop de eventos e as microtarefas”?

A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.

Posso escrever e executar código nesta aula de Dart Academy?

Sim. Cada aula de Dart Academy inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.

Todas as aulas deste curso

  1. O loop de eventos e as microtarefas
  2. Criar e aguardar Futures
  3. Tratamento de erros em código assíncrono
  4. Future.wait e trabalho paralelo
← Voltar para Dart Academy