home *** CD-ROM | disk | FTP | other *** search
- program CONCURRENT;
-
- var
- SHARED, SEMAPHORE;
-
- procedure PROCESS(LIMIT);
-
- var
- LOOP;
-
- begin
- LOOP := 1;
- while LOOP <= LIMIT DO
- begin
- write(LIMIT, SHARED);
- wait(SEMAPHORE);
- SHARED := SHARED + 1;
- signal(SEMAPHORE);
- LOOP := LOOP+1
- end
- end;
-
- begin
- SEMAPHORE := 1;
- SHARED := 0;
- cobegin
- PROCESS(4);
- PROCESS(5+3);
- coend;
- end.