Dieses Modul zeigt wie einfach es ist, eine Koroutine auf ein globales
Ereignis warten zu lassen. Als globales Ereignis tritt hier das
Eintreffen einer bestimmten Uhrzeit auf. Das Programm liest von der
Eingabe eine Reihe von Zeiten (die relativ zur aktuellen Zeit in
Sekunden angegeben werden) und zugehörige Texte, kreiert für
jedes dieser Paare eine Koroutine, die dann darauf wartet, daß
diese Zeit eintritt, um dann den entsprechenden Text auszugeben.
Wenn Sie anstatt einer Sekundenzahl einen Buchstaben eingeben,
wird die Einleseschleife und damit die ``Haupt-Koroutine'' beendet.
Damit ist aber noch lange nicht das Programm zu Ende!
Erst wenn alle
Koroutinen terminieren, terminiert das Programm.
Hier sehen Sie einen beispielhaften Verlauf:
belinda$ tsleep
: 20 Hi Adi
: 10 etwas schneller
: 25 Schluss!
: x
Main loop terminates...
etwas schneller
Hi Adi
Schluss!
belinda$