84
87
<div id="contentBody"><div class="title_container"><div class="page_title">Thread::Semaphore</div></div><ul><li><a href="#NAME">NAME</a><li><a href="#SYNOPSIS">SYNOPSIS</a><li><a href="#DESCRIPTION">DESCRIPTION</a><li><a href="#FUNCTIONS-AND-METHODS">FUNCTIONS AND METHODS</a></ul><a name="NAME"></a><h1>NAME</h1>
85
88
<p>Thread::Semaphore - thread-safe semaphores</p>
86
89
<a name="SYNOPSIS"></a><h1>SYNOPSIS</h1>
89
92
<span class="i">$s</span><span class="i">->down</span><span class="sc">;</span> <span class="c"># Also known as the semaphore P operation.</span>
90
93
<span class="c"># The guarded section is here</span>
91
94
<span class="i">$s</span><span class="i">->up</span><span class="sc">;</span> <span class="c"># Also known as the semaphore V operation.</span></pre>
92
95
<pre class="verbatim"> <span class="c"># The default semaphore value is 1.</span>
94
97
<span class="i">$s</span><span class="i">->down</span><span class="s">(</span><span class="i">$down_value</span><span class="s">)</span><span class="sc">;</span>
95
98
<span class="i">$s</span><span class="i">->up</span><span class="s">(</span><span class="i">$up_value</span><span class="s">)</span><span class="sc">;</span></pre>
96
99
<a name="DESCRIPTION"></a><h1>DESCRIPTION</h1>