Menu
Coddy logo textTech

Qu'est-ce qu'une coroutine ?

Fait partie de la section Logic & Flow du Journey Lua de Coddy — leçon 48 sur 54.

Pensez à jouer à un jeu vidéo. Vous pouvez le mettre en pause à tout moment, aller faire autre chose, puis revenir pour reprendre exactement là où vous vous étiez arrêté. Les coroutines en Lua fonctionnent de manière similaire.

Une coroutine est comme une fonction spéciale qui peut s'interrompre au milieu de son exécution, puis reprendre plus tard exactement à cet endroit. Contrairement aux fonctions classiques qui s'exécutent du début à la fin sans s'arrêter, les coroutines vous permettent de contrôler le moment où elles s'interrompent et reprennent.

Cette capacité permet ce que l'on appelle le multitâche coopératif. Au lieu d'exécuter plusieurs tâches exactement en même temps, les coroutines vous permettent de basculer entre différentes tâches volontairement.

Une coroutine s'exécute pendant un moment, se met en pause, une autre prend le relais, et ainsi de suite. Chaque coroutine coopère en décidant quand redonner le contrôle.

Les coroutines sont utiles lorsque vous devez diviser des opérations de longue durée, gérer des systèmes au tour par tour ou créer des séquences qui doivent mémoriser leur état entre les appels. Dans les leçons à venir, vous apprendrez comment créer, mettre en pause et reprendre des coroutines en Lua.

Aide-mémoire

Une coroutine est une fonction spéciale qui peut s'interrompre d'elle-même pendant son exécution et reprendre plus tard exactement au même point, contrairement aux fonctions classiques qui s'exécutent du début à la fin sans s'arrêter.

Les coroutines permettent le multitâche coopératif, où les tâches s'échangent volontairement le contrôle entre elles plutôt que de s'exécuter simultanément. Une coroutine s'exécute, s'interrompt, une autre prend le relais, et le cycle continue.

Les coroutines sont utiles pour diviser des opérations de longue durée, gérer des systèmes au tour par tour ou créer des séquences qui doivent mémoriser leur état entre les appels.

Essayez vous-même

Cette leçon ne comprend pas de défi de code.

quiz iconTestez-vous

Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.

Toutes les leçons de Logic & Flow