Sophie

Sophie

distrib > Mageia > 7 > i586 > by-pkgid > 2b917e0437961edec048f1d15e2d7449 > files > 11449

php-manual-en-7.2.11-1.mga7.noarch.rpm

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
 <head>
  <meta http-equiv="content-type" content="text/html; charset=UTF-8">
  <title>Acquires the hash table's mutex lock</title>

 </head>
 <body><div class="manualnavbar" style="text-align: center;">
 <div class="prev" style="text-align: left; float: left;"><a href="class.pht-hashtable.html">pht\HashTable</a></div>
 <div class="next" style="text-align: right; float: right;"><a href="pht-hashtable.size.html">pht\HashTable::size</a></div>
 <div class="up"><a href="class.pht-hashtable.html">pht\HashTable</a></div>
 <div class="home"><a href="index.html">PHP Manual</a></div>
</div><hr /><div id="pht-hashtable.lock" class="refentry">
 <div class="refnamediv">
  <h1 class="refname">pht\HashTable::lock</h1>
  <p class="verinfo">(PECL pht &gt;= 0.0.1)</p><p class="refpurpose"><span class="refname">pht\HashTable::lock</span> &mdash; <span class="dc-title">Acquires the hash table&#039;s mutex lock</span></p>

 </div>

 <div class="refsect1 description" id="refsect1-pht-hashtable.lock-description">
  <h3 class="title">Description</h3>
  <div class="methodsynopsis dc-description">
   <span class="modifier">public</span> <span class="type"><span class="type void">void</span></span> <span class="methodname"><strong>pht\HashTable::lock</strong></span>
    ( <span class="methodparam">void</span>
   )</div>

  <p class="para rdfs-comment">
   This method will acquire the mutex lock associated with the hash table. The mutex
   lock should always be acquired when manipulating the hash table if it is being
   used by multiple threads.
  </p>

  <p class="para">
   The mutex locks of the Inter-Thread Communication (ITC) data structures are
   not reentrant. Attempting to reacquire an already-acquired mutex lock by the
   same thread will therefore cause a deadlock.
  </p>
 </div>


 <div class="refsect1 parameters" id="refsect1-pht-hashtable.lock-parameters">
  <h3 class="title">Parameters</h3>
  <p class="para">This function has no parameters.</p>
 </div>


 <div class="refsect1 returnvalues" id="refsect1-pht-hashtable.lock-returnvalues">
  <h3 class="title">Return Values</h3>
  <p class="para">
   No return value.
  </p>
 </div>


 <div class="refsect1 examples" id="refsect1-pht-hashtable.lock-examples">
  <h3 class="title">Examples</h3>
  <p class="para">
   <div class="example" id="example-4552">
    <p><strong>Example #1 Locking a hash table&#039;s mutex lock</strong></p>
    <div class="example-contents">
<div class="phpcode"><code><span style="color: #000000">
<span style="color: #0000BB">&lt;?php<br /><br /></span><span style="color: #007700">use&nbsp;</span><span style="color: #0000BB">pht</span><span style="color: #007700">\{</span><span style="color: #0000BB">Thread</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">HashTable</span><span style="color: #007700">};<br /><br /></span><span style="color: #0000BB">$thread&nbsp;</span><span style="color: #007700">=&nbsp;new&nbsp;</span><span style="color: #0000BB">Thread</span><span style="color: #007700">();<br /></span><span style="color: #0000BB">$hashTable&nbsp;</span><span style="color: #007700">=&nbsp;new&nbsp;</span><span style="color: #0000BB">HashTable</span><span style="color: #007700">();<br /><br /></span><span style="color: #0000BB">$thread</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">addFunctionTask</span><span style="color: #007700">(function&nbsp;(</span><span style="color: #0000BB">$hashTable</span><span style="color: #007700">)&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$hashTable</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">lock</span><span style="color: #007700">();<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$hashTable</span><span style="color: #007700">[</span><span style="color: #DD0000">'a'</span><span style="color: #007700">]&nbsp;=&nbsp;</span><span style="color: #0000BB">1</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$hashTable</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">unlock</span><span style="color: #007700">();<br />},&nbsp;</span><span style="color: #0000BB">$hashTable</span><span style="color: #007700">);<br /><br /></span><span style="color: #0000BB">$thread</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">start</span><span style="color: #007700">();<br /><br /></span><span style="color: #FF8000">//&nbsp;$hashTable&nbsp;is&nbsp;currently&nbsp;being&nbsp;used&nbsp;by&nbsp;multiple&nbsp;threads<br /></span><span style="color: #0000BB">$hashTable</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">lock</span><span style="color: #007700">();<br /></span><span style="color: #0000BB">$hashTable</span><span style="color: #007700">[</span><span style="color: #DD0000">'b'</span><span style="color: #007700">]&nbsp;=&nbsp;</span><span style="color: #0000BB">2</span><span style="color: #007700">;<br /></span><span style="color: #0000BB">$hashTable</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">unlock</span><span style="color: #007700">();<br /><br /></span><span style="color: #0000BB">$thread</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">join</span><span style="color: #007700">();</span>
</span>
</code></div>
    </div>

   </div>
  </p>
 </div>

</div><hr /><div class="manualnavbar" style="text-align: center;">
 <div class="prev" style="text-align: left; float: left;"><a href="class.pht-hashtable.html">pht\HashTable</a></div>
 <div class="next" style="text-align: right; float: right;"><a href="pht-hashtable.size.html">pht\HashTable::size</a></div>
 <div class="up"><a href="class.pht-hashtable.html">pht\HashTable</a></div>
 <div class="home"><a href="index.html">PHP Manual</a></div>
</div></body></html>