Zum Inhalt springen
uencoder

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

Verwandte Begriffe

References