28.02.2014 Views

Real-Time Programming Languages - Operating Systems

Real-Time Programming Languages - Operating Systems

Real-Time Programming Languages - Operating Systems

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Tasks ./. Protected Objects<br />

01<br />

02<br />

03<br />

04<br />

05<br />

06<br />

07<br />

08<br />

09<br />

10<br />

11<br />

12<br />

13<br />

14<br />

15<br />

16<br />

17<br />

18<br />

19<br />

20<br />

21<br />

task body Shared_Integer is<br />

The_Data : Integer := Initial_Value;<br />

begin<br />

loop<br />

select<br />

accept Read(New_Value : out Integer) do<br />

New_Value := The_Data;<br />

end Read;<br />

or<br />

accept Write(New_Value : Integer) do<br />

The_Data := New_Value;<br />

end Write;<br />

or<br />

accept Increment(By : Integer) do<br />

The_Data := The_Data + By;<br />

end Increment;<br />

or<br />

terminate;<br />

end select;<br />

end loop;<br />

end Shared_Integer;<br />

Burns,<br />

Wellings<br />

Ch. 7.2<br />

Page 132<br />

WS 2013/14 <strong>Real</strong>-<strong>Time</strong> <strong>Systems</strong>, <strong>Real</strong>-<strong>Time</strong> Prog. <strong>Languages</strong> / Hermann Härtig 31

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!