Sophie

Sophie

distrib > Mandriva > 2010.2 > i586 > media > contrib-backports > by-pkgid > 4f5f2dc0f55b453456458df885792b0b > files > 112

ucommon-doc-5.0.4-1mdv2010.2.i586.rpm

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>ucommon: ucommon::JoinableThread 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.6.3 -->
<div class="navigation" id="top">
  <div class="tabs">
    <ul>
      <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
      <li class="current"><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
      <li><a href="files.html"><span>Files</span></a></li>
      <li><a href="examples.html"><span>Examples</span></a></li>
    </ul>
  </div>
  <div class="tabs">
    <ul>
      <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
      <li><a href="classes.html"><span>Data&nbsp;Structure&nbsp;Index</span></a></li>
      <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
      <li><a href="functions.html"><span>Data&nbsp;Fields</span></a></li>
    </ul>
  </div>
  <div class="navpath"><a class="el" href="a00208.html">ucommon</a>::<a class="el" href="a00053.html">JoinableThread</a>
  </div>
</div>
<div class="contents">
<h1>ucommon::JoinableThread Class Reference</h1><!-- doxytag: class="ucommon::JoinableThread" --><!-- doxytag: inherits="ucommon::Thread" -->
<p>A child thread object that may be joined by parent.  
<a href="#_details">More...</a></p>

<p><code>#include &lt;<a class="el" href="a00202_source.html">thread.h</a>&gt;</code></p>
<div class="dynheader">
Inheritance diagram for ucommon::JoinableThread:</div>
<div class="dynsection">
<div class="center"><img src="a00386.png" border="0" usemap="#ucommon_1_1_joinable_thread_inherit__map" alt="Inheritance graph"/></div>
<map name="ucommon_1_1_joinable_thread_inherit__map" id="ucommon_1_1_joinable_thread_inherit__map">
<area shape="rect" id="node2" href="a00156.html" title="An abstract class for defining classes that operate as a thread." alt="" coords="45,5,216,32"/></map>
<center><span class="legend">[<a target="top" href="graph_legend.html">legend</a>]</span></center></div>
<div class="dynheader">
Collaboration diagram for ucommon::JoinableThread:</div>
<div class="dynsection">
<div class="center"><img src="a00387.png" border="0" usemap="#ucommon_1_1_joinable_thread_coll__map" alt="Collaboration graph"/></div>
<map name="ucommon_1_1_joinable_thread_coll__map" id="ucommon_1_1_joinable_thread_coll__map">
<area shape="rect" id="node2" href="a00156.html" title="An abstract class for defining classes that operate as a thread." alt="" coords="45,5,216,32"/></map>
<center><span class="legend">[<a target="top" href="graph_legend.html">legend</a>]</span></center></div>
<table border="0" cellpadding="0" cellspacing="0">
<tr><td colspan="2"><h2>Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00053.html#afa0a81a0ff6776780a97566848fcab0b">background</a> (void)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Start execution of child context as background thread.  <a href="#afa0a81a0ff6776780a97566848fcab0b"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a64520a47492b98df7b131aa8e476a719"></a><!-- doxytag: member="ucommon::JoinableThread::isRunning" ref="a64520a47492b98df7b131aa8e476a719" args="(void)" -->
bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00053.html#a64520a47492b98df7b131aa8e476a719">isRunning</a> (void)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Check if running. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00053.html#a87db5eaad6e8f35c6d9881308b063439">start</a> (int priority=0)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Start execution of child context.  <a href="#a87db5eaad6e8f35c6d9881308b063439"></a><br/></td></tr>
<tr><td colspan="2"><h2>Protected Member Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00053.html#a255e03ca46f430ae9bee7a3adcfb68e5">join</a> (void)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Join thread with parent.  <a href="#a255e03ca46f430ae9bee7a3adcfb68e5"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00053.html#a2daeca7414e31ba52c9a5c6c8476f130">JoinableThread</a> (size_t size=0)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Create a joinable thread with a known context stack size.  <a href="#a2daeca7414e31ba52c9a5c6c8476f130"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00053.html#acc80deb17fe23a35e4171f42f40b9f12">~JoinableThread</a> ()</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Delete child thread.  <a href="#acc80deb17fe23a35e4171f42f40b9f12"></a><br/></td></tr>
<tr><td colspan="2"><h2>Protected Attributes</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae3e2cd8a0190de4ce2ebaa7720be88df"></a><!-- doxytag: member="ucommon::JoinableThread::joining" ref="ae3e2cd8a0190de4ce2ebaa7720be88df" args="" -->
volatile bool&nbsp;</td><td class="memItemRight" valign="bottom"><b>joining</b></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a86c9a71893bf60727a6d31f33de07d9c"></a><!-- doxytag: member="ucommon::JoinableThread::running" ref="a86c9a71893bf60727a6d31f33de07d9c" args="" -->
volatile bool&nbsp;</td><td class="memItemRight" valign="bottom"><b>running</b></td></tr>
</table>
<hr/><a name="_details"></a><h2>Detailed Description</h2>
<p>A child thread object that may be joined by parent. </p>
<p>A child thread is a type of thread in which the parent thread (or process main thread) can then wait for the child thread to complete and then delete the child object. The parent thread can wait for the child thread to complete either by calling join, or performing a "delete" of the derived child object. In either case the parent thread will suspend execution until the child thread exits. </p>
<dl class="author"><dt><b>Author:</b></dt><dd>David Sugar &lt;<a href="mailto:dyfet@gnutelephony.org">dyfet@gnutelephony.org</a>&gt; </dd></dl>

<p>Definition at line <a class="el" href="a00202_source.html#l01613">1613</a> of file <a class="el" href="a00202_source.html">thread.h</a>.</p>
<hr/><h2>Constructor &amp; Destructor Documentation</h2>
<a class="anchor" id="a2daeca7414e31ba52c9a5c6c8476f130"></a><!-- doxytag: member="ucommon::JoinableThread::JoinableThread" ref="a2daeca7414e31ba52c9a5c6c8476f130" args="(size_t size=0)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">ucommon::JoinableThread::JoinableThread </td>
          <td>(</td>
          <td class="paramtype">size_t&nbsp;</td>
          <td class="paramname"> <em>size</em> = <code>0</code></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Create a joinable thread with a known context stack size. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>size</em>&nbsp;</td><td>of stack for thread context or 0 for default. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="acc80deb17fe23a35e4171f42f40b9f12"></a><!-- doxytag: member="ucommon::JoinableThread::~JoinableThread" ref="acc80deb17fe23a35e4171f42f40b9f12" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual ucommon::JoinableThread::~JoinableThread </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [protected, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Delete child thread. </p>
<p>Parent thread suspends until child thread run method completes or child thread calls it's exit method. </p>

</div>
</div>
<hr/><h2>Member Function Documentation</h2>
<a class="anchor" id="afa0a81a0ff6776780a97566848fcab0b"></a><!-- doxytag: member="ucommon::JoinableThread::background" ref="afa0a81a0ff6776780a97566848fcab0b" args="(void)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ucommon::JoinableThread::background </td>
          <td>(</td>
          <td class="paramtype">void&nbsp;</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Start execution of child context as background thread. </p>
<p>This is assumed to be off main thread, with a priority lowered by one. </p>

<p>Definition at line <a class="el" href="a00202_source.html#l01659">1659</a> of file <a class="el" href="a00202_source.html">thread.h</a>.</p>

<p><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dynsection">
<div class="center"><img src="a00053_afa0a81a0ff6776780a97566848fcab0b_cgraph.png" border="0" usemap="#a00053_afa0a81a0ff6776780a97566848fcab0b_cgraph_map" alt=""></div>
<map name="a00053_afa0a81a0ff6776780a97566848fcab0b_cgraph_map" id="a00053_afa0a81a0ff6776780a97566848fcab0b_cgraph">
<area shape="rect" id="node3" href="a00208.html#a3c62610106837fc4ebbe70e9001bdb2f" title="Convenience function to start a joinable thread." alt="" coords="427,5,589,32"/><area shape="rect" id="node5" href="a00053.html#a87db5eaad6e8f35c6d9881308b063439" title="Start execution of child context." alt="" coords="637,5,960,32"/></map>
</div>
</p>

</div>
</div>
<a class="anchor" id="a255e03ca46f430ae9bee7a3adcfb68e5"></a><!-- doxytag: member="ucommon::JoinableThread::join" ref="a255e03ca46f430ae9bee7a3adcfb68e5" args="(void)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ucommon::JoinableThread::join </td>
          <td>(</td>
          <td class="paramtype">void&nbsp;</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Join thread with parent. </p>
<p>Calling from a child thread to exit is now depreciated behavior and in the future will not be supported. Threads should always return through their <a class="el" href="a00156.html#a6a772f1389024571722dfc4b400c175b" title="Abstract interface for thread context run method.">run()</a> method. </p>

</div>
</div>
<a class="anchor" id="a87db5eaad6e8f35c6d9881308b063439"></a><!-- doxytag: member="ucommon::JoinableThread::start" ref="a87db5eaad6e8f35c6d9881308b063439" args="(int priority=0)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ucommon::JoinableThread::start </td>
          <td>(</td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>priority</em> = <code>0</code></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Start execution of child context. </p>
<p>This must be called after the child object is created (perhaps with "new") and before it can be joined. This method actually begins the new thread context, which then calls the object's run method. Optionally raise the priority of the thread when it starts under realtime priority. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>priority</em>&nbsp;</td><td>of child thread. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li>ucommon/<a class="el" href="a00202_source.html">thread.h</a></li>
</ul>
</div>
<hr class="footer"/><address style="text-align: right;"><small>Generated on Thu Jul 14 16:39:36 2011 for ucommon by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
</body>
</html>