PPT Slide
task body READER_WRITER is
T: READ_OR_WRITE ;
READERS: INTEGER := 0 ;
entry: Request
entry: Fin
begin ;
loop
select
accept REQUEST (REQTYPE: in READ_OR_WRITE) do
T := REQTYPE ;
if REQTYPE = W then
while READERS > 0 loop
accept FIN ;
READERS := READERS-1 ;
end loop ;
end if ;
end ;
if T = W then accept FIN ;
else READERS := READERS+1 ;
end if ;
or
accept FIN ;
READERS := READERS-1 ;
end select ;
end loop ;
end READER_WRITER ;
Task Reader_Writer is
type Read_or_Write is (R,W) ;
entry Request (REQTYPE: in Read_or_Write) ;
entry Fin ;
end ;
Previous slide
Back to first slide
View graphic version