In der
Informatik sind Koroutinen (auch Coroutinen) eine Verallgemeinerung des Konzepts einer
Prozedur oder
Funktion. Der prinzipielle Unterschied zwischen Koroutinen und Prozeduren ist, dass Koroutinen ihren Ablauf unterbrechen und später wieder aufnehmen können, wobei sie ihren Status beibehalten.Unter den ältesten
Programmiersprachen, die Koroutinen unterstützen, sind
Simula oder
Modula-2. Auch moderne Sprachen wie
Python kennen ähnliche Konzepte. In einigen weit verbreiteten Sprachen wie
C oder
Java gestaltet sich die Implementierung jedoch schwierig. Der Begriff selbst stammt von Melvin Conway, der ihn 1963 in einer Veröffentlichung über Compilerbau benutzte.
Donald Knuth bezeichnet Prozeduren als Spezialfall von Koroutinen.
Mehr unter Wikipedia.org...