📄 class_c_thread_pool.html
字号:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html><head><meta http-equiv="Content-Type" content="text/html;charset=gb2312"><title>cmpp3api: CThreadPool类参考</title><link href="doxygen.css" rel="stylesheet" type="text/css"><link href="tabs.css" rel="stylesheet" type="text/css"></head><body><!-- 制作者 Doxygen 1.5.1-p1 --><div class="tabs"> <ul> <li><a href="main.html"><span>首页</span></a></li> <li id="current"><a href="annotated.html"><span>类</span></a></li> <li><a href="files.html"><span>文件</span></a></li> </ul></div><div class="tabs"> <ul> <li><a href="annotated.html"><span>组合类型列表</span></a></li> <li><a href="hierarchy.html"><span>类继承关系</span></a></li> <li><a href="functions.html"><span>组合类型成员</span></a></li> </ul></div><h1>CThreadPool类参考</h1><!-- doxytag: class="CThreadPool" --><code>#include <<a class="el" href="threadpool_8h-source.html">threadpool.h</a>></code><p><a href="class_c_thread_pool-members.html">所有成员的列表。</a><table border="0" cellpadding="0" cellspacing="0"><tr><td></td></tr><tr><td colspan="2"><br><h2>公有成员</h2></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_thread_pool.html#66aed95042182184c2db963b0a4da111">Start</a> (unsigned short nStatic, unsigned short nmax)</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_thread_pool.html#b33a8b0ae934bf438de2390604401cb0">Stop</a> (bool bHash=false)</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_thread_pool.html#c50e0ad426966495910eaf91b08014a8">ProcessJob</a> (<a class="el" href="struct_i_job_desc.html">IJobDesc</a> *pJob, <a class="el" href="struct_i_worker.html">IWorker</a> *pWorker) const </td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_thread_pool.html#d782c35d603373734182289680d146c6">CThreadPool</a> ()</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">virtual </td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_thread_pool.html#cb6a395b0928bd2472801b0d9ac8b3c0">~CThreadPool</a> ()</td></tr><tr><td colspan="2"><br><h2>保护类型</h2></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">enum </td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_thread_pool.html#0bacfbb0688c2cf8ec70aa704cf94e44">ThreadPoolStatus</a> { <a class="el" href="class_c_thread_pool.html#0bacfbb0688c2cf8ec70aa704cf94e44e966b9ae416e40c92f354941d73cfa13">BUSY</a>, <a class="el" href="class_c_thread_pool.html#0bacfbb0688c2cf8ec70aa704cf94e44a329efa7d2ef0aacd96f806bd9a56577">IDLE</a>, <a class="el" href="class_c_thread_pool.html#0bacfbb0688c2cf8ec70aa704cf94e444c580b4cecf074b58ed423170bb6808d">NORMAL</a> }</td></tr><tr><td colspan="2"><br><h2>保护成员</h2></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">HANDLE </td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_thread_pool.html#211a76b12e735223052dfd39798d916e">GetMgrIoPort</a> () const</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">UINT </td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_thread_pool.html#9590db4a94c6264292e405f0f3b3fc65">GetMgrWaitTime</a> () const</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">HANDLE </td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_thread_pool.html#133c43086875d2ab78036ff76179eec2">GetWorkerIoPort</a> () const</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_thread_pool.html#0b09452c70390003bb457d7429178260">AddThreads</a> ()</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_thread_pool.html#2ea3c73bf92832192cdd0c4901abe8df">RemoveThreads</a> ()</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="class_c_thread_pool.html#0bacfbb0688c2cf8ec70aa704cf94e44">ThreadPoolStatus</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_thread_pool.html#390dd6bb203634e9c7c855494e6a1470">GetThreadPoolStatus</a> ()</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_thread_pool.html#1a7eefd03f1982ed78bbd97ccfc10f16">ChangeStatus</a> (DWORD threadId, bool status)</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_thread_pool.html#81bd2096c3f6b63f49968b9df24cae45">RemoveThread</a> (DWORD threadId)</td></tr><tr><td colspan="2"><br><h2>保护属性</h2></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">HANDLE </td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_thread_pool.html#a8b4ceabf090930b3d3003d7487973a3">m_hMgrThread</a></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">HANDLE </td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_thread_pool.html#a63f27ba07c1d5b7af98e0427b592cf3">m_hMgrIoPort</a></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">UINT </td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_thread_pool.html#261943984797e12df4db2287f0349a99">m_nNumberOfStaticThreads</a></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">UINT </td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_thread_pool.html#a602d3abd1256cd3bcfb144cf7c139bc">m_nNumberOfTotalThreads</a></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">CMap< DWORD, DWORD &, <a class="el" href="struct_thread_info.html">ThreadInfo</a>,<br> <a class="el" href="struct_thread_info.html">ThreadInfo</a> & > </td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_thread_pool.html#bd8adc284ceaee4a6780ef37108cf1a9">m_threadMap</a></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">CCriticalSection </td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_thread_pool.html#a013af10c9ca27fba4e87b6097d38eac">m_arrayCs</a></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">HANDLE </td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_thread_pool.html#7e17984c77d1dfd20162b014aeb1caa1">m_hWorkerIoPort</a></td></tr><tr><td colspan="2"><br><h2>友元</h2></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">static friend unsigned int </td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_thread_pool.html#4891cd33bb7c490dfd1c4bb766c2377b">ManagerProc</a> (void *p)</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">static friend unsigned int </td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_thread_pool.html#449f322aaa87df2766d3a2feded6b626">WorkerProc</a> (void *p)</td></tr></table><hr><h2>成员枚举类型文档</h2><a class="anchor" name="0bacfbb0688c2cf8ec70aa704cf94e44"></a><!-- doxytag: member="CThreadPool::ThreadPoolStatus" ref="0bacfbb0688c2cf8ec70aa704cf94e44" args="" --><div class="memitem"><div class="memproto"> <table class="memname"> <tr> <td class="memname">enum <a class="el" href="class_c_thread_pool.html#0bacfbb0688c2cf8ec70aa704cf94e44">CThreadPool::ThreadPoolStatus</a><code> [protected]</code> </td> </tr> </table></div><div class="memdoc"><p><dl compact><dt><b>枚举值: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0"><tr><td valign="top"><em><a class="anchor" name="0bacfbb0688c2cf8ec70aa704cf94e44e966b9ae416e40c92f354941d73cfa13"></a><!-- doxytag: member="BUSY" ref="0bacfbb0688c2cf8ec70aa704cf94e44e966b9ae416e40c92f354941d73cfa13" args="" -->BUSY</em> </td><td></td></tr><tr><td valign="top"><em><a class="anchor" name="0bacfbb0688c2cf8ec70aa704cf94e44a329efa7d2ef0aacd96f806bd9a56577"></a><!-- doxytag: member="IDLE" ref="0bacfbb0688c2cf8ec70aa704cf94e44a329efa7d2ef0aacd96f806bd9a56577" args="" -->IDLE</em> </td><td></td></tr><tr><td valign="top"><em><a class="anchor" name="0bacfbb0688c2cf8ec70aa704cf94e444c580b4cecf074b58ed423170bb6808d"></a><!-- doxytag: member="NORMAL" ref="0bacfbb0688c2cf8ec70aa704cf94e444c580b4cecf074b58ed423170bb6808d" args="" -->NORMAL</em> </td><td></td></tr></table></dl></div></div><p><hr><h2>构造及析构函数文档</h2><a class="anchor" name="d782c35d603373734182289680d146c6"></a><!-- doxytag: member="CThreadPool::CThreadPool" ref="d782c35d603373734182289680d146c6" args="()" --><div class="memitem"><div class="memproto"> <table class="memname"> <tr> <td class="memname">CThreadPool::CThreadPool </td> <td>(</td> <td class="paramname"> </td> <td> ) </td> <td width="100%"></td> </tr> </table></div><div class="memdoc"><p></div></div><p><a class="anchor" name="cb6a395b0928bd2472801b0d9ac8b3c0"></a><!-- doxytag: member="CThreadPool::~CThreadPool" ref="cb6a395b0928bd2472801b0d9ac8b3c0" args="()" --><div class="memitem"><div class="memproto"> <table class="memname"> <tr> <td class="memname">CThreadPool::~CThreadPool </td> <td>(</td> <td class="paramname"> </td> <td> ) </td> <td width="100%"><code> [virtual]</code></td> </tr> </table></div><div class="memdoc"><p></div></div><p><hr><h2>成员函数文档</h2><a class="anchor" name="66aed95042182184c2db963b0a4da111"></a><!-- doxytag: member="CThreadPool::Start" ref="66aed95042182184c2db963b0a4da111" args="(unsigned short nStatic, unsigned short nmax)" --><div class="memitem"><div class="memproto"> <table class="memname"> <tr> <td class="memname">void CThreadPool::Start </td> <td>(</td> <td class="paramtype">unsigned short </td> <td class="paramname"> <em>nStatic</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">unsigned short </td> <td class="paramname"> <em>nmax</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td width="100%"></td> </tr> </table></div><div class="memdoc"><p></div></div><p><a class="anchor" name="b33a8b0ae934bf438de2390604401cb0"></a><!-- doxytag: member="CThreadPool::Stop" ref="b33a8b0ae934bf438de2390604401cb0" args="(bool bHash=false)" --><div class="memitem"><div class="memproto"> <table class="memname"> <tr> <td class="memname">void CThreadPool::Stop </td> <td>(</td> <td class="paramtype">bool </td> <td class="paramname"> <em>bHash</em> = <code>false</code> </td> <td> ) </td> <td width="100%"></td> </tr> </table></div><div class="memdoc"><p></div></div><p><a class="anchor" name="c50e0ad426966495910eaf91b08014a8"></a><!-- doxytag: member="CThreadPool::ProcessJob" ref="c50e0ad426966495910eaf91b08014a8" args="(IJobDesc *pJob, IWorker *pWorker) const " --><div class="memitem"><div class="memproto"> <table class="memname"> <tr> <td class="memname">void CThreadPool::ProcessJob </td> <td>(</td> <td class="paramtype"><a class="el" href="struct_i_job_desc.html">IJobDesc</a> * </td> <td class="paramname"> <em>pJob</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="struct_i_worker.html">IWorker</a> * </td> <td class="paramname"> <em>pWorker</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td width="100%"> const</td> </tr> </table></div><div class="memdoc"><p></div></div><p><a class="anchor" name="211a76b12e735223052dfd39798d916e"></a><!-- doxytag: member="CThreadPool::GetMgrIoPort" ref="211a76b12e735223052dfd39798d916e" args="() const" --><div class="memitem"><div class="memproto"> <table class="memname"> <tr> <td class="memname">HANDLE CThreadPool::GetMgrIoPort </td> <td>(</td> <td class="paramname"> </td> <td> ) </td> <td width="100%"> const<code> [inline, protected]</code></td> </tr> </table></div><div class="memdoc"><p></div></div><p><a class="anchor" name="9590db4a94c6264292e405f0f3b3fc65"></a><!-- doxytag: member="CThreadPool::GetMgrWaitTime" ref="9590db4a94c6264292e405f0f3b3fc65" args="() const" --><div class="memitem"><div class="memproto"> <table class="memname"> <tr> <td class="memname">UINT CThreadPool::GetMgrWaitTime </td> <td>(</td> <td class="paramname"> </td> <td> ) </td> <td width="100%"> const<code> [inline, protected]</code></td> </tr> </table></div><div class="memdoc"><p></div></div><p><a class="anchor" name="133c43086875d2ab78036ff76179eec2"></a><!-- doxytag: member="CThreadPool::GetWorkerIoPort" ref="133c43086875d2ab78036ff76179eec2" args="() const" --><div class="memitem"><div class="memproto"> <table class="memname"> <tr> <td class="memname">HANDLE CThreadPool::GetWorkerIoPort </td> <td>(</td> <td class="paramname"> </td> <td> ) </td> <td width="100%"> const<code> [inline, protected]</code></td>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -