|
Prozeduraufrufe werden mit Hilfe eines Stapels
realisiert. Ganz oben auf dem Stapel sind die Parameter und
lokalen Variablen der gerade aktiven Prozedur. Weiter unten im
Stapel sind die Parameter und lokalen Variablen der aufrufenden
Prozedur und die Rücksprungposition, an der das Programm
fortgesetzt wird, wenn die aktuelle Prozedur beendet wird.
| |
Normalerweise wird nur ein Stapel verwendet.
| |
Wenn mehrere solcher Stapel gleichzeitig existieren
können, wird von Koroutinen gesprochen.
| |
Jede Koroutine hat somit ihren eigenen Kontrollfluß
durch das Programm.
| |
Zu jedem Zeitpunkt ist aber nur eine Koroutine aktiv.
| |
Es ist möglich, neue Koroutinen zu erzeugen und
von einer Koroutine zu einer anderen zu wechseln.
| |
Der Vorteil von Koroutinen liegt darin, daß sich damit
ineinander verzahnte Algorithmen trennen lassen, die sonst
ineinander verwoben wären.
| |
Umgekehrt können Koroutinen auch sehr zur Unübersichtlichkeit
beitragen. Dies wird normalerweise vermieden, indem
die trickreichen Techniken hinter übersichtlichen
Bibliotheksschnittstellen versteckt werden.
|
Copyright © 2004, 2005 Andreas Borchert, in HTML konvertiert am 18.02.2005 |