home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
cs.rhul.ac.uk
/
www.cs.rhul.ac.uk.zip
/
www.cs.rhul.ac.uk
/
pub
/
CS375
/
attempt2.pc
< prev
next >
Wrap
Text File
|
1999-02-05
|
743b
|
47 lines
program attempt2;
var
p1inside, p2inside: boolean;
shared: integer;
process P1;
var
loop: integer;
begin
for loop := 1 to 20 do
begin
while p2inside do
null;
p1inside := true;
(* enter critical section *)
shared := shared + 1;
(* leave critical section *)
p1inside := false
end
end; (* P1 *)
process P2;
var
loop: integer;
begin
for loop := 1 to 20 do
begin
while p1inside do
null;
p2inside := true;
(* enter critical section *)
shared := shared + 1;
(* leave critical section *)
p2inside := false
end
end; (* P2 *)
begin
p1inside := false;
p2inside := false;
shared := 0;
cobegin
P1;
P2
coend;
writeln(shared)
end.