Coroutine
Eine Koroutine ist eine Funktion, die angehalten und fortgesetzt werden kann; sie wechselt kooperativ ohne OS-Scheduling und ist leichter als ein Thread.
Zweck
Asynchronen Code mit synchronem Syntaxstil schreiben, intuitiver als Callbacks/Promises.
Mechanismus
Eine Koroutine pausiert (yield/await), gibt die Kontrolle an den Aufrufer zurück und setzt am Unterbrechungspunkt fort. Ohne den Thread-Umschalt-Overhead des Betriebssystems kann ein einzelner Thread Millionen von Koroutinen ausführen. Python async/await, Go-Goroutine, JS async/await.
Anwendungsfälle
- Asynchrone Programmierung
- Hohe Nebenläufigkeit
- Leichtgewichtiges Scheduling