-- This procedure illustrates the readers-writers problem by creating two -- reading tasks and two writing tasks. with text_io; with readerwriter; procedure runreader is use text_io; package int_io is new integer_io(integer); use int_io; use readerwriter; task ARead; task BRead; task CWrite; task DWrite; task body ARead is X : integer; begin Set_Col(8); Put("A"); New_Line; for i in 1 .. 4 loop Read(X,1); delay 0.1; end loop; end ARead; task body BRead is X : integer; begin Set_Col(28); Put("B"); New_Line; for i in 1 .. 4 loop Read(X,21); delay 0.2; end loop; end BRead; task body CWrite is begin Set_Col(48); Put("C"); New_Line; for X in 11 .. 14 loop Write(X,41); end loop; end CWrite; task body DWrite is begin Set_Col(68); Put("D"); New_Line; for X in 31 .. 34 loop Write(X,61); end loop; end DWrite; begin null; end runReader;