Sophie

Sophie

distrib > Fedora > 15 > i386 > by-pkgid > 42b8e67cd59abacb81e11c7ba39524d1 > files > 114

apr-api-docs-1.4.2-1.fc15.noarch.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>Apache Portable Runtime: apr_thread_pool.h File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body onload='searchBox.OnSelectItem(0);'>
<!-- Generated by Doxygen 1.7.3 -->
<script type="text/javascript"><!--
var searchBox = new SearchBox("searchBox", "search",false,'Search');
--></script>
<div id="top">
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td style="padding-left: 0.5em;">
   <div id="projectname">Apache Portable Runtime</div>
  </td>
 </tr>
 </tbody>
</table>
</div>
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
      <li><a href="modules.html"><span>Modules</span></a></li>
      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
      <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
      <li class="current"><a href="files.html"><span>Files</span></a></li>
      <li id="searchli">
        <div id="MSearchBox" class="MSearchBoxInactive">
        <span class="left">
          <img id="MSearchSelect" src="search/mag_sel.png"
               onmouseover="return searchBox.OnSearchSelectShow()"
               onmouseout="return searchBox.OnSearchSelectHide()"
               alt=""/>
          <input type="text" id="MSearchField" value="Search" accesskey="S"
               onfocus="searchBox.OnSearchFieldFocus(true)" 
               onblur="searchBox.OnSearchFieldFocus(false)" 
               onkeyup="searchBox.OnSearchFieldChange(event)"/>
          </span><span class="right">
            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
          </span>
        </div>
      </li>
    </ul>
  </div>
  <div id="navrow2" class="tabs2">
    <ul class="tablist">
      <li><a href="files.html"><span>File&#160;List</span></a></li>
      <li><a href="globals.html"><span>Globals</span></a></li>
    </ul>
  </div>
</div>
<div class="header">
  <div class="summary">
<a href="#define-members">Defines</a> &#124;
<a href="#typedef-members">Typedefs</a> &#124;
<a href="#func-members">Functions</a>  </div>
  <div class="headertitle">
<h1>apr_thread_pool.h File Reference</h1>  </div>
</div>
<div class="contents">

<p>APR Thread Pool Library.  
<a href="#_details">More...</a></p>
<div class="textblock"><code>#include &quot;apu.h&quot;</code><br/>
<code>#include &quot;<a class="el" href="apr__thread__proc_8h_source.html">apr_thread_proc.h</a>&quot;</code><br/>
</div>
<p><a href="apr__thread__pool_8h_source.html">Go to the source code of this file.</a></p>
<table class="memberdecls">
<tr><td colspan="2"><h2><a name="define-members"></a>
Defines</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga312691aaa41f45820e13c2566a4c6780"></a><!-- doxytag: member="apr_thread_pool.h::APR_THREAD_TASK_PRIORITY_LOWEST" ref="ga312691aaa41f45820e13c2566a4c6780" args="" -->
#define&#160;</td><td class="memItemRight" valign="bottom"><b>APR_THREAD_TASK_PRIORITY_LOWEST</b>&#160;&#160;&#160;0</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga19879c994e9a71e9954e580a179b62c1"></a><!-- doxytag: member="apr_thread_pool.h::APR_THREAD_TASK_PRIORITY_LOW" ref="ga19879c994e9a71e9954e580a179b62c1" args="" -->
#define&#160;</td><td class="memItemRight" valign="bottom"><b>APR_THREAD_TASK_PRIORITY_LOW</b>&#160;&#160;&#160;63</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga84d2ac8fa8a538661715b0d2e2736cb1"></a><!-- doxytag: member="apr_thread_pool.h::APR_THREAD_TASK_PRIORITY_NORMAL" ref="ga84d2ac8fa8a538661715b0d2e2736cb1" args="" -->
#define&#160;</td><td class="memItemRight" valign="bottom"><b>APR_THREAD_TASK_PRIORITY_NORMAL</b>&#160;&#160;&#160;127</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga289d5e1346b5807b43db9ea7d4ea5c17"></a><!-- doxytag: member="apr_thread_pool.h::APR_THREAD_TASK_PRIORITY_HIGH" ref="ga289d5e1346b5807b43db9ea7d4ea5c17" args="" -->
#define&#160;</td><td class="memItemRight" valign="bottom"><b>APR_THREAD_TASK_PRIORITY_HIGH</b>&#160;&#160;&#160;191</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga5fa01e4e210270d119382a80aae13d1d"></a><!-- doxytag: member="apr_thread_pool.h::APR_THREAD_TASK_PRIORITY_HIGHEST" ref="ga5fa01e4e210270d119382a80aae13d1d" args="" -->
#define&#160;</td><td class="memItemRight" valign="bottom"><b>APR_THREAD_TASK_PRIORITY_HIGHEST</b>&#160;&#160;&#160;255</td></tr>
<tr><td colspan="2"><h2><a name="typedef-members"></a>
Typedefs</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">typedef struct apr_thread_pool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___a_p_r___util___t_p.html#gab31b68a03a0d5eec3e1879c253d3b620">apr_thread_pool_t</a></td></tr>
<tr><td colspan="2"><h2><a name="func-members"></a>
Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__apr__errno.html#gaf76ee4543247e9fb3f3546203e590a6c">apr_status_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___a_p_r___util___t_p.html#ga9c4351f2f93d223c159c1f8e5481830e">apr_thread_pool_create</a> (<a class="el" href="group___a_p_r___util___t_p.html#gab31b68a03a0d5eec3e1879c253d3b620">apr_thread_pool_t</a> **me, apr_size_t init_threads, apr_size_t max_threads, <a class="el" href="group__apr__pools.html#gaf137f28edcf9a086cd6bc36c20d7cdfb">apr_pool_t</a> *pool)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__apr__errno.html#gaf76ee4543247e9fb3f3546203e590a6c">apr_status_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___a_p_r___util___t_p.html#gab06b4fdfc684c88781abf201d53a44eb">apr_thread_pool_destroy</a> (<a class="el" href="group___a_p_r___util___t_p.html#gab31b68a03a0d5eec3e1879c253d3b620">apr_thread_pool_t</a> *me)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__apr__errno.html#gaf76ee4543247e9fb3f3546203e590a6c">apr_status_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___a_p_r___util___t_p.html#gad66fb92679a8f456ff8e8ea1629eb041">apr_thread_pool_push</a> (<a class="el" href="group___a_p_r___util___t_p.html#gab31b68a03a0d5eec3e1879c253d3b620">apr_thread_pool_t</a> *me, <a class="el" href="group__apr__thread__proc.html#ga37193850d158ca870fc8f8759f0725a9">apr_thread_start_t</a> func, void *param, apr_byte_t priority, void *owner)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__apr__errno.html#gaf76ee4543247e9fb3f3546203e590a6c">apr_status_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___a_p_r___util___t_p.html#gaa79df50c650442b8d39e169f4e422d3b">apr_thread_pool_schedule</a> (<a class="el" href="group___a_p_r___util___t_p.html#gab31b68a03a0d5eec3e1879c253d3b620">apr_thread_pool_t</a> *me, <a class="el" href="group__apr__thread__proc.html#ga37193850d158ca870fc8f8759f0725a9">apr_thread_start_t</a> func, void *param, <a class="el" href="group__apr__time.html#gaae2129185a395cc393f76fabf4f43e47">apr_interval_time_t</a> time, void *owner)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__apr__errno.html#gaf76ee4543247e9fb3f3546203e590a6c">apr_status_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___a_p_r___util___t_p.html#ga9acb6218820184f0617eecf56f0d3d84">apr_thread_pool_top</a> (<a class="el" href="group___a_p_r___util___t_p.html#gab31b68a03a0d5eec3e1879c253d3b620">apr_thread_pool_t</a> *me, <a class="el" href="group__apr__thread__proc.html#ga37193850d158ca870fc8f8759f0725a9">apr_thread_start_t</a> func, void *param, apr_byte_t priority, void *owner)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__apr__errno.html#gaf76ee4543247e9fb3f3546203e590a6c">apr_status_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___a_p_r___util___t_p.html#gaee3d7332cf2591f42472e8be0bcbff87">apr_thread_pool_tasks_cancel</a> (<a class="el" href="group___a_p_r___util___t_p.html#gab31b68a03a0d5eec3e1879c253d3b620">apr_thread_pool_t</a> *me, void *owner)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">apr_size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___a_p_r___util___t_p.html#ga4f628cbec0365bb39be715a3c7ff0ec3">apr_thread_pool_tasks_count</a> (<a class="el" href="group___a_p_r___util___t_p.html#gab31b68a03a0d5eec3e1879c253d3b620">apr_thread_pool_t</a> *me)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">apr_size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___a_p_r___util___t_p.html#gac0324b95f6b61dbfb184cbe84c541b42">apr_thread_pool_scheduled_tasks_count</a> (<a class="el" href="group___a_p_r___util___t_p.html#gab31b68a03a0d5eec3e1879c253d3b620">apr_thread_pool_t</a> *me)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">apr_size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___a_p_r___util___t_p.html#ga9a2642a5a61df9560da438e818d5fad3">apr_thread_pool_threads_count</a> (<a class="el" href="group___a_p_r___util___t_p.html#gab31b68a03a0d5eec3e1879c253d3b620">apr_thread_pool_t</a> *me)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">apr_size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___a_p_r___util___t_p.html#gaf839cda931928964f450e3a17d153b24">apr_thread_pool_busy_count</a> (<a class="el" href="group___a_p_r___util___t_p.html#gab31b68a03a0d5eec3e1879c253d3b620">apr_thread_pool_t</a> *me)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">apr_size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___a_p_r___util___t_p.html#gae6c5b87d1fee7150f74baa1008cb00c0">apr_thread_pool_idle_count</a> (<a class="el" href="group___a_p_r___util___t_p.html#gab31b68a03a0d5eec3e1879c253d3b620">apr_thread_pool_t</a> *me)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">apr_size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___a_p_r___util___t_p.html#ga07c5e4dca589ff024e9adfc8f818c481">apr_thread_pool_idle_max_set</a> (<a class="el" href="group___a_p_r___util___t_p.html#gab31b68a03a0d5eec3e1879c253d3b620">apr_thread_pool_t</a> *me, apr_size_t cnt)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">apr_size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___a_p_r___util___t_p.html#gaab5c9c8afc46793ea5c413edfc9ef46e">apr_thread_pool_tasks_run_count</a> (<a class="el" href="group___a_p_r___util___t_p.html#gab31b68a03a0d5eec3e1879c253d3b620">apr_thread_pool_t</a> *me)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">apr_size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___a_p_r___util___t_p.html#ga5eda07fb7fac1b4c4165137f34c5c31c">apr_thread_pool_tasks_high_count</a> (<a class="el" href="group___a_p_r___util___t_p.html#gab31b68a03a0d5eec3e1879c253d3b620">apr_thread_pool_t</a> *me)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">apr_size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___a_p_r___util___t_p.html#gab6dcdaa6129caf35fa370e694a67ff08">apr_thread_pool_threads_high_count</a> (<a class="el" href="group___a_p_r___util___t_p.html#gab31b68a03a0d5eec3e1879c253d3b620">apr_thread_pool_t</a> *me)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">apr_size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___a_p_r___util___t_p.html#gafcf0a761a77b2a27fc043d650606c122">apr_thread_pool_threads_idle_timeout_count</a> (<a class="el" href="group___a_p_r___util___t_p.html#gab31b68a03a0d5eec3e1879c253d3b620">apr_thread_pool_t</a> *me)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">apr_size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___a_p_r___util___t_p.html#ga6dd7fdcaac5cb2848aecd2ee1426d41e">apr_thread_pool_idle_max_get</a> (<a class="el" href="group___a_p_r___util___t_p.html#gab31b68a03a0d5eec3e1879c253d3b620">apr_thread_pool_t</a> *me)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">apr_size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___a_p_r___util___t_p.html#gaa352b6337b31ebab796b604240a907e9">apr_thread_pool_thread_max_set</a> (<a class="el" href="group___a_p_r___util___t_p.html#gab31b68a03a0d5eec3e1879c253d3b620">apr_thread_pool_t</a> *me, apr_size_t cnt)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__apr__time.html#gaae2129185a395cc393f76fabf4f43e47">apr_interval_time_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___a_p_r___util___t_p.html#ga382b90c482d39184b2a80157f64166ec">apr_thread_pool_idle_wait_set</a> (<a class="el" href="group___a_p_r___util___t_p.html#gab31b68a03a0d5eec3e1879c253d3b620">apr_thread_pool_t</a> *me, <a class="el" href="group__apr__time.html#gaae2129185a395cc393f76fabf4f43e47">apr_interval_time_t</a> timeout)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__apr__time.html#gaae2129185a395cc393f76fabf4f43e47">apr_interval_time_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___a_p_r___util___t_p.html#ga6ef255c2d556fa757e9b78c2745c9bac">apr_thread_pool_idle_wait_get</a> (<a class="el" href="group___a_p_r___util___t_p.html#gab31b68a03a0d5eec3e1879c253d3b620">apr_thread_pool_t</a> *me)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">apr_size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___a_p_r___util___t_p.html#gaca755ea05976c5e1b782dcf40a1ef443">apr_thread_pool_thread_max_get</a> (<a class="el" href="group___a_p_r___util___t_p.html#gab31b68a03a0d5eec3e1879c253d3b620">apr_thread_pool_t</a> *me)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">apr_size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___a_p_r___util___t_p.html#ga1c35f1bd809dde4300f4a3f77026f446">apr_thread_pool_threshold_set</a> (<a class="el" href="group___a_p_r___util___t_p.html#gab31b68a03a0d5eec3e1879c253d3b620">apr_thread_pool_t</a> *me, apr_size_t val)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">apr_size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___a_p_r___util___t_p.html#ga38f4ad8e384cde0e9d32867031c7a935">apr_thread_pool_threshold_get</a> (<a class="el" href="group___a_p_r___util___t_p.html#gab31b68a03a0d5eec3e1879c253d3b620">apr_thread_pool_t</a> *me)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__apr__errno.html#gaf76ee4543247e9fb3f3546203e590a6c">apr_status_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___a_p_r___util___t_p.html#gaefbaa0f765567e8e5a79adaaf346755f">apr_thread_pool_task_owner_get</a> (<a class="el" href="group__apr__thread__proc.html#ga646c71351e723d84f8cc8c8d1d5937be">apr_thread_t</a> *thd, void **owner)</td></tr>
</table>
<hr/><a name="_details"></a><h2>Detailed Description</h2>
<div class="textblock"><p>APR Thread Pool Library. </p>
<dl class="remark"><dt><b>Remarks:</b></dt><dd>This library implements a thread pool using apr_thread_t. A thread pool is a set of threads that can be created in advance or on demand until a maximum number. When a task is scheduled, the thread pool will find an idle thread to handle the task. In case all existing threads are busy and the number of tasks in the queue is higher than the adjustable threshold, the pool will try to create a new thread to serve the task if the maximum number has not been reached. Otherwise, the task will be put into a queue based on priority, which can be valued from 0 to 255, with higher values being served first. If there are tasks with the same priority, the new task might be put at the top or at the bottom - it depends on which function is used to put the task.</dd>
<dd>
There may be the case where the thread pool can use up to the maximum number of threads at peak load, but having those threads idle afterwards. A maximum number of idle threads can be set so that the extra idling threads will be terminated to save system resources. </dd></dl>
</div></div>
<!--- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Defines</a></div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<hr class="footer"/><address class="footer"><small>Generated on Tue Feb 8 2011 for Apache Portable Runtime by&#160;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.3 </small></address>
</body>
</html>