<titolo>Un esempio di monitor</titolo> <corpo> <codeblock> <name>single resource</name>: <kw>monitor</kw>
<kw>begin</kw>
<idt></idt><name>busy</name>: <type>Boolean</type>;
<idt></idt><name>nonbusy</name>: <type>condition</type>;
<idt></idt><kw>procedure</kw> <name>acquire</name>;
<idt></idt><idt></idt><kw>begin</kw>
<idt></idt><idt></idt><idt></idt><kw>if</kw> <name>busy</name> <kw>then</kw> <name>nonbusy</name>.<call>wait</call>;
<idt></idt><idt></idt><idt></idt><name>busy</name> := <value>true</value>
<idt></idt><idt></idt><kw>end</kw>;
<idt></idt><kw>procedure</kw> <name>release</name>;
<idt></idt><idt></idt><kw>begin</kw>
<idt></idt><idt></idt><idt></idt><name>busy</name> := <value>false</value>;
<idt></idt><idt></idt><idt></idt><name>nonbusy</name>.<call>signal</call>
<idt></idt><idt></idt><kw>end</kw>;
<idt></idt><name>busy</name> := <value>false</value>;
<kw>end</kw> <name>single resource</name> </codeblock> </corpo> <autore>Pietro Tessarolo</autore>