3 unit aSemaphore: process(node:integer);
6 return enable free disable pass;
10 return enable pass disable free;
27 writeln("koniec semafora");
30 unit writer: process (node:integer, nr:integer,s: string, sem: aSemaphore);
42 writeln("jestem w procesie ",nr);
43 for i := lower(a) to upper(a)
48 writeln("skonczyl",nr);
53 var s: aSemaphore, w1, w2: writer, i: integer;
55 begin s := new aSemaphore(0);
57 w1:= new writer(0,1,"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",s);
58 w2:= new writer(0,2,"bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb", s);
59 writeln("press Enter");
63 call w1.fin; call w2.fin;
65 writeln("polaczone procesy");