Menu
Coddy logo textTech

O que é uma Coroutine?

Parte da seção Logic & Flow do Journey de Lua da Coddy — lição 48 de 54.

Pense em jogar um videogame. Você pode pausá-lo a qualquer momento, ir fazer outra coisa e depois voltar para retomar exatamente de onde parou. As corrotinas em Lua funcionam de maneira semelhante.

Uma corrotina é como uma função especial que pode pausar a si mesma no meio da execução e depois continuar mais tarde a partir desse ponto exato. Ao contrário das funções regulares que rodam do início ao fim sem parar, as corrotinas dão a você controle sobre quando elas pausam e retomam.

Essa habilidade permite algo chamado multitarefa cooperativa. Em vez de executar várias tarefas exatamente ao mesmo tempo, as corrotinas permitem que você alterne entre diferentes tarefas voluntariamente.

Uma corrotina executa por um tempo, pausa a si mesma, outra assume o controle e assim por diante. Cada corrotina coopera decidindo quando devolver o controle.

Corrotinas são úteis quando você precisa interromper operações de longa duração, gerenciar sistemas baseados em turnos ou criar sequências que precisam lembrar seu estado entre as chamadas. Nas próximas lições, você aprenderá como criar, pausar e retomar corrotinas em Lua.

Folha de consulta

Uma corrotina é uma função especial que pode pausar a si mesma durante a execução e retomar mais tarde exatamente do mesmo ponto, ao contrário de funções regulares que rodam do início ao fim sem parar.

Corrotinas permitem o multitarefa cooperativo, onde as tarefas voluntariamente alternam o controle entre si em vez de rodarem simultaneamente. Uma corrotina executa, pausa a si mesma, outra assume o controle, e o ciclo continua.

Corrotinas são úteis para dividir operações de longa duração, gerenciar sistemas baseados em turnos ou criar sequências que precisam lembrar seu estado entre as chamadas.

Experimente você mesmo

Esta lição não inclui um desafio de código.

quiz iconTeste seus conhecimentos

Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.

Todas as lições de Logic & Flow