10. Parallele Prozesse
 
zurück
10.7.7 Diskriminanten von Prozessen


Mit Diskriminanten können Prozessen bei der Objektvereinbarung Werte übergeben werden.


Beispiel:

-- Prozessdeklaration

task type prozess( id : integer := 0 );
-- Implementierung (Rumpf).
task body prozess is
   identifikation : integer := id;
begin
   -- ...
end prozess;

-- Objektvereinbarung
ein_prozess : prozess;
zwei_prozess : prozess( 5 );

Das Objekt "ein_prozess" erhält die Vorbesetzung des Parameters "id" zugewiesen, das Objekt "zwei_prozess" den Wert, der bei der Objektvereinbarung als Parameter angegeben wurde.
Wird die Diskriminante nicht vorbesetzt, so ist bei der Objektvereinbarung eine Wertangabe zwingend notwendig.

Diskriminanten sind dann für Prozeßtypen sinnvoll, wenn mehrere Objekte des gleichen Typs (dynamisch) erzeugt werden und diese unterscheidbar sein bzw. unterschiedliche Initialwerte erhalten sollen. Eine andere, kompliziertere Möglichkeit wäre, einen speziellen Eingang vorzusehen, über den diese Werte transferiert werden. Diese Möglichkeit wäre aber immer mit einer Synchronisation zu einem Rendezvous verbunden.


 
zurück
 Index   Ada Tour - Dokumentation  
© 2003 Förderverein Ada Deutschland e.V.