Sophie

Sophie

distrib > Mandriva > 2010.0 > i586 > media > contrib-release > by-pkgid > 247b28499c443e092731ffba814075f2 > files > 595

mpqc-html-2.3.1-9mdv2010.0.i586.rpm

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
<title>MPQC: sc::PthreadThreadGrp Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css">
<link href="doxygen.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.5.9 -->
<div class="navigation" id="top">
  <div class="tabs">
    <ul>
      <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
      <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
      <li><a href="files.html"><span>Files</span></a></li>
    </ul>
  </div>
  <div class="tabs">
    <ul>
      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
      <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
      <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
    </ul>
  </div>
  <div class="navpath"><b>sc</b>::<a class="el" href="classsc_1_1PthreadThreadGrp.html">PthreadThreadGrp</a>
  </div>
</div>
<div class="contents">
<h1>sc::PthreadThreadGrp Class Reference</h1><!-- doxytag: class="sc::PthreadThreadGrp" --><!-- doxytag: inherits="sc::ThreadGrp" -->The <a class="el" href="classsc_1_1PthreadThreadGrp.html" title="The PthreadThreadGrp class privides a concrete thread group appropriate for an environment...">PthreadThreadGrp</a> class privides a concrete thread group appropriate for an environment where pthreads is available.  
<a href="#_details">More...</a>
<p>
<code>#include &lt;<a class="el" href="thpthd_8h_source.html">thpthd.h</a>&gt;</code>
<p>
<div class="dynheader">
Inheritance diagram for sc::PthreadThreadGrp:</div>
<div class="dynsection">

<p><center><img src="classsc_1_1PthreadThreadGrp.png" usemap="#sc::PthreadThreadGrp_map" border="0" alt=""></center>
<map name="sc::PthreadThreadGrp_map">
<area href="classsc_1_1ThreadGrp.html" alt="sc::ThreadGrp" shape="rect" coords="0,168,136,192">
<area href="classsc_1_1DescribedClass.html" alt="sc::DescribedClass" shape="rect" coords="0,112,136,136">
<area href="classsc_1_1RefCount.html" alt="sc::RefCount" shape="rect" coords="0,56,136,80">
<area href="classsc_1_1Identity.html" alt="sc::Identity" shape="rect" coords="0,0,136,24">
</map>
</div>

<p>
<a href="classsc_1_1PthreadThreadGrp-members.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
<tr><td></td></tr>
<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="467804bb993a340b58371584b884d24c"></a><!-- doxytag: member="sc::PthreadThreadGrp::PthreadThreadGrp" ref="467804bb993a340b58371584b884d24c" args="(const PthreadThreadGrp &amp;, int nthread=&#45;1)" -->
&nbsp;</td><td class="memItemRight" valign="bottom"><b>PthreadThreadGrp</b> (const <a class="el" href="classsc_1_1PthreadThreadGrp.html">PthreadThreadGrp</a> &amp;, int nthread=-1)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="e89cba7c411a4ffbdb5db727c41bc675"></a><!-- doxytag: member="sc::PthreadThreadGrp::PthreadThreadGrp" ref="e89cba7c411a4ffbdb5db727c41bc675" args="(const Ref&lt; KeyVal &gt; &amp;)" -->
&nbsp;</td><td class="memItemRight" valign="bottom"><b>PthreadThreadGrp</b> (const <a class="el" href="classsc_1_1Ref.html">Ref</a>&lt; <a class="el" href="classsc_1_1KeyVal.html">KeyVal</a> &gt; &amp;)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsc_1_1PthreadThreadGrp.html#ce7f5612104b160fb9cc31f2f3737042">start_threads</a> ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Starts the threads running.  <a href="#ce7f5612104b160fb9cc31f2f3737042"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsc_1_1PthreadThreadGrp.html#dcdd567c4aed41e3844870fc161dc2bf">wait_threads</a> ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Wait for all the threads to complete.  <a href="#dcdd567c4aed41e3844870fc161dc2bf"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsc_1_1PthreadThreadGrp.html#44523cd05d662ff4d33d3104b427054e">add_thread</a> (int i, <a class="el" href="classsc_1_1Thread.html">Thread</a> *t)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Assigns a <a class="el" href="classsc_1_1Thread.html" title="The Thread abstract class defines an interface which must be implemented by classes...">Thread</a> object to each thread.  <a href="#44523cd05d662ff4d33d3104b427054e"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsc_1_1PthreadThreadGrp.html#3bb0f2c28162a3dc35d54b72d79838eb">add_thread</a> (int i, <a class="el" href="classsc_1_1Thread.html">Thread</a> *t, int priority)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Like add_thread(threadnum, thread), but assign a priority that the thread is to use.  <a href="#3bb0f2c28162a3dc35d54b72d79838eb"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="72a1288714101688eef0c978f467d78a"></a><!-- doxytag: member="sc::PthreadThreadGrp::new_lock" ref="72a1288714101688eef0c978f467d78a" args="()" -->
<a class="el" href="classsc_1_1Ref.html">Ref</a>&lt; <a class="el" href="classsc_1_1ThreadLock.html">ThreadLock</a> &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsc_1_1PthreadThreadGrp.html#72a1288714101688eef0c978f467d78a">new_lock</a> ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return a local object. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classsc_1_1ThreadGrp.html">ThreadGrp</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsc_1_1PthreadThreadGrp.html#99da475f8a0b5adf41da4b7ea0a5cd13">clone</a> (int nthread=-1)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Create a <a class="el" href="classsc_1_1ThreadGrp.html" title="The ThreadGrp abstract class provides a means to manage separate threads of control...">ThreadGrp</a> like the current one.  <a href="#99da475f8a0b5adf41da4b7ea0a5cd13"></a><br></td></tr>
</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
The <a class="el" href="classsc_1_1PthreadThreadGrp.html" title="The PthreadThreadGrp class privides a concrete thread group appropriate for an environment...">PthreadThreadGrp</a> class privides a concrete thread group appropriate for an environment where pthreads is available. 
<p>
<hr><h2>Member Function Documentation</h2>
<a class="anchor" name="3bb0f2c28162a3dc35d54b72d79838eb"></a><!-- doxytag: member="sc::PthreadThreadGrp::add_thread" ref="3bb0f2c28162a3dc35d54b72d79838eb" args="(int i, Thread *t, int priority)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void sc::PthreadThreadGrp::add_thread           </td>
          <td>(</td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>threadnum</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classsc_1_1Thread.html">Thread</a> *&nbsp;</td>
          <td class="paramname"> <em>thread</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>priority</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Like add_thread(threadnum, thread), but assign a priority that the thread is to use. 
<p>
The member is primarily for experimentation, the priority argument is currently not well defined and ignored. 
<p>Reimplemented from <a class="el" href="classsc_1_1ThreadGrp.html#8d4fb79e9c57edaf500ceb172c514cf6">sc::ThreadGrp</a>.</p>

</div>
</div><p>
<a class="anchor" name="44523cd05d662ff4d33d3104b427054e"></a><!-- doxytag: member="sc::PthreadThreadGrp::add_thread" ref="44523cd05d662ff4d33d3104b427054e" args="(int i, Thread *t)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void sc::PthreadThreadGrp::add_thread           </td>
          <td>(</td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>threadnum</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classsc_1_1Thread.html">Thread</a> *&nbsp;</td>
          <td class="paramname"> <em>thread</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [inline, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Assigns a <a class="el" href="classsc_1_1Thread.html" title="The Thread abstract class defines an interface which must be implemented by classes...">Thread</a> object to each thread. 
<p>
If 0 is assigned to a thread, then that thread will be skipped. 
<p>Reimplemented from <a class="el" href="classsc_1_1ThreadGrp.html#63861769c94ea2feb2123a2f9ed9a9c5">sc::ThreadGrp</a>.</p>

</div>
</div><p>
<a class="anchor" name="99da475f8a0b5adf41da4b7ea0a5cd13"></a><!-- doxytag: member="sc::PthreadThreadGrp::clone" ref="99da475f8a0b5adf41da4b7ea0a5cd13" args="(int nthread=&#45;1)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classsc_1_1ThreadGrp.html">ThreadGrp</a>* sc::PthreadThreadGrp::clone           </td>
          <td>(</td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>nthread</em> = <code>-1</code>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Create a <a class="el" href="classsc_1_1ThreadGrp.html" title="The ThreadGrp abstract class provides a means to manage separate threads of control...">ThreadGrp</a> like the current one. 
<p>
If nthread is given, the new <a class="el" href="classsc_1_1ThreadGrp.html" title="The ThreadGrp abstract class provides a means to manage separate threads of control...">ThreadGrp</a> will attempt to support that number of threads, but the actual number supported may be less. If nthread is -1, the number of threads in the current group will be used. 
<p>Reimplemented from <a class="el" href="classsc_1_1ThreadGrp.html#84fabb069dca43f5fe86b3595d09aecb">sc::ThreadGrp</a>.</p>

</div>
</div><p>
<a class="anchor" name="ce7f5612104b160fb9cc31f2f3737042"></a><!-- doxytag: member="sc::PthreadThreadGrp::start_threads" ref="ce7f5612104b160fb9cc31f2f3737042" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int sc::PthreadThreadGrp::start_threads           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Starts the threads running. 
<p>
<a class="el" href="classsc_1_1Thread.html" title="The Thread abstract class defines an interface which must be implemented by classes...">Thread</a> 0 will be run by the thread that calls start_threads. 
<p>Implements <a class="el" href="classsc_1_1ThreadGrp.html#ab79c71d061780a0c2d1545a6cc4229c">sc::ThreadGrp</a>.</p>

</div>
</div><p>
<a class="anchor" name="dcdd567c4aed41e3844870fc161dc2bf"></a><!-- doxytag: member="sc::PthreadThreadGrp::wait_threads" ref="dcdd567c4aed41e3844870fc161dc2bf" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int sc::PthreadThreadGrp::wait_threads           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Wait for all the threads to complete. 
<p>
This must be called before start_threads is called again or the object is destroyed. 
<p>Implements <a class="el" href="classsc_1_1ThreadGrp.html#c6a273d457278ad45269128c5cedd80c">sc::ThreadGrp</a>.</p>

</div>
</div><p>
<hr>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="thpthd_8h_source.html">thpthd.h</a></ul>
</div>
<hr>
<address>
<small>

Generated at Wed Oct 14 14:12:16 2009 for <a
href="http://www.mpqc.org">MPQC</a>
2.3.1 using the documentation package <a
href="http://www.doxygen.org">Doxygen</a>
1.5.9.

</small>
</address>
</body>
</html>