0Pricing
Dart Academy · Aula

Isolate.run para descarregamento rápido

Execute uma função fora do isolate principal.

Isolate.run para descarregamento rápido é uma aula grátis de Dart Academy no CoddyKit. Esta é a aula 2 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.

A porta de entrada mais simples

Criar isolados manualmente é trabalhoso. Isolate.run é a maneira mais simples de executar um trabalho pesado fora do isolado principal. 🚀

O que ele faz

Isolate.run inicia um isolado novo, executa sua função nele, retorna o resultado e encerra o isolado para você.

Ele retorna um Future

Como o trabalho acontece em outro lugar, Isolate.run fornece um Future. Você pode usar await nele como em qualquer outra chamada assíncrona.

Future<int> sumIt() => Isolate.run(() {
  var total = 0;
  for (var i = 0; i < 1000000; i++) total += i;
  return total;
});

Aguarde o resultado

Chame-o e use await para aguardar a resposta. O isolado principal fica livre para manter sua interface fluida enquanto os cálculos são executados.

final result = await Isolate.run(heavyTask);
print(result);

Passe uma função de nível superior

O trabalho executado deve ser uma função de nível superior ou estática, ou um closure simples. Isso facilita enviá-lo com segurança para o novo isolado.

Capture com cuidado

Qualquer valor que um closure capture será copiado para o novo isolado. Mantenha os dados capturados pequenos e livres de itens que não podem ser enviados, como sockets.

Envie as entradas

Precisa de entradas? Capture-as no closure ou passe-as por parâmetro. O Dart as copia para o outro lado, então o isolado trabalha com sua própria versão.

final big = await Isolate.run(() => parseJson(rawText));

Obtenha os resultados

O que quer que sua função retorne se torna o valor do Future. Ele é copiado automaticamente de volta para o isolado principal.

Os erros são propagados

Se o trabalho lançar uma exceção, o Future será rejeitado. Envolva seu await em try/catch para tratar as falhas exatamente no ponto em que você fez a chamada.

try {
  final r = await Isolate.run(risky);
} catch (e) {
  print('failed: $e');
}

Custo da inicialização

Cada Isolate.run inicia e encerra um isolado. Isso gera sobrecarga; portanto, vale a pena para trabalhos realmente pesados, não para tarefas pequenas.

Quando Usar

Escolha Isolate.run quando tiver uma tarefa única, grande e independente. Para uma comunicação contínua nos dois sentidos, os isolados completos são mais adequados.

Verificação Rápida

O que Isolate.run devolve?

Recapitulação

Isolate.run transfere uma função pesada para outro isolado, aguarda o Future, copia o resultado de volta e faz a limpeza. É o caminho mais simples para obter paralelismo. ✅

Perguntas Frequentes

A aula “Isolate.run para descarregamento rápido” é grátis?

Sim — o texto completo de “Isolate.run para descarregamento rápido” é 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 “Isolate.run para descarregamento rápido”?

Execute uma função fora do isolate principal. 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 2 de 4.

Quanto tempo leva a aula “Isolate.run para descarregamento rápido”?

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. Por que isolates, não threads
  2. Isolate.run para descarregamento rápido
  3. Criação de Isolates e Passagem de Mensagens
  4. Tarefas com Uso Intenso de Computação sem Travamentos
← Voltar para Dart Academy