Ein erstes Beispiel mit Koroutinen

 [Vorheriges Kapitel]  [Vorherige Seite]  [Inhaltsverzeichnis]  [Nächste Seite]

HaTschi.om
MODULE HaTschi;

   IMPORT Coroutines, Random := RandomGenerators,
      SYS := SYSTEM, Write;

   PROCEDURE Ha(VAR ha, tschi: Coroutines.Coroutine);
   (* ... *)

   PROCEDURE Tschi(VAR ha, tschi: Coroutines.Coroutine);
   (* ... *)

   PROCEDURE DoIt;
      VAR
         ha, tschi: Coroutines.Coroutine;
   BEGIN
      Ha(ha, tschi);
      Tschi(ha, tschi);
      SYS.CRSWITCH(ha);
   END DoIt;

BEGIN
   DoIt;
END HaTschi.

*In diesem Beispiel sind drei Koroutinen aktiv: Zunächst die Koroutine, die zu Beginn loslegt (Haupt-Koroutine). Dann wird je von den Prozeduren Ha und Tschi eine Koroutine neu erzeugt.
 

 [Vorheriges Kapitel]  [Vorherige Seite]  [Inhaltsverzeichnis]  [Nächste Seite]
Copyright © 2004, 2005 Andreas Borchert, in HTML konvertiert am 18.02.2005