home *** CD-ROM | disk | FTP | other *** search
- program demo;
-
- var notfull,notempty: semaphore;
- x : integer;
-
-
- procedure process1;
- begin
- while true do
- begin
- wait(notfull);
- writeln('process 1');
- readln(x);
- signal(notempty);
- end;
- end;
-
- procedure process2;
- begin
- while true do
- begin
- wait(notempty);
- writeln('process 2');
- writeln(x);
- signal(notfull);
- end;
- end;
-
- begin
- writeln('start');
- notfull := 1; notempty := 0;
- cobegin process1;process2 coend;
- end.
-