⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 月光软件站 - 编程文档 - vc语言 - 一个好用的线程池.mht

📁 线程池的源码模压可耕地可耕地枯可耕地在村枯枯枯要要要求
💻 MHT
📖 第 1 页 / 共 5 页
字号:
From: <由 Windows Internet Explorer 7 保存>
Subject: =?gb2312?B?1MK54sjtvP7VviAtILHgs8zOxLW1IC0gVkPT79HUIC0g0ru49rrD08O1xA==?=
	=?gb2312?B?z9+zzLPY?=
Date: Tue, 23 Oct 2007 12:17:56 +0800
MIME-Version: 1.0
Content-Type: multipart/related;
	type="text/html";
	boundary="----=_NextPart_000_004D_01C8156E.BE684730"
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.3198

This is a multi-part message in MIME format.

------=_NextPart_000_004D_01C8156E.BE684730
Content-Type: text/html;
	charset="gb2312"
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.moon-soft.com/doc/34506.htm

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD><TITLE>=D4=C2=B9=E2=C8=ED=BC=FE=D5=BE - =
=B1=E0=B3=CC=CE=C4=B5=B5 - VC=D3=EF=D1=D4 - =
=D2=BB=B8=F6=BA=C3=D3=C3=B5=C4=CF=DF=B3=CC=B3=D8</TITLE>
<META http-equiv=3DContent-Type content=3D"text/html; charset=3Dgb2312">
<META =
content=3DVC=D3=EF=D1=D4,=D2=BB=B8=F6=BA=C3=D3=C3=B5=C4=CF=DF=B3=CC=B3=D8=
,=B1=E0=B3=CC,=CE=C4=D5=C2,=CF=C2=D4=D8 name=3Dkeywords>
<META content=3D=D2=BB=B8=F6=BA=C3=D3=C3=B5=C4=CF=DF=B3=CC=B3=D8 =
name=3Ddescription>
<META content=3D"MSHTML 6.00.6000.16544" name=3DGENERATOR></HEAD>
<BODY>
<CENTER>
<SCRIPT src=3D"http://www.moon-soft.com/top.js" =
type=3Dtext/javascript></SCRIPT>
</CENTER>
<DIV id=3Dheader align=3Dcenter>
<CENTER>
<TABLE style=3D"BORDER-COLLAPSE: collapse" cellSpacing=3D0 =
cellPadding=3D0 width=3D750=20
border=3D0>
  <TBODY>
  <TR>
    <TD width=3D"100%">=C4=FA=B5=C4=CE=BB=D6=C3=A3=BA<A =
href=3D"http://www.moon-soft.com/">=CA=D7=D2=B3</A>-&gt; <A=20
      =
href=3D"http://www.moon-soft.com/doc/index.htm">=B1=E0=B3=CC=CE=C4=B5=B5<=
/A>-&gt; <A=20
      =
href=3D"http://www.moon-soft.com/doc/1_1.htm">VC=D3=EF=D1=D4</A>-&gt;=20
  =
=D2=BB=B8=F6=BA=C3=D3=C3=B5=C4=CF=DF=B3=CC=B3=D8</TD></TR></TBODY></TABLE=
></CENTER></DIV>
<DIV id=3Dmain align=3Dcenter>
<CENTER>
<TABLE style=3D"BORDER-COLLAPSE: collapse" borderColor=3D#111111 =
cellSpacing=3D0=20
cellPadding=3D0 width=3D750 border=3D0>
  <TBODY>
  <TR>
    <TD vAlign=3Dtop width=3D165>
      <TABLE style=3D"BORDER-COLLAPSE: collapse" height=3D"100%" =
cellSpacing=3D0=20
      cellPadding=3D0 width=3D165 bgColor=3D#f4f4f4 border=3D0>
        <TBODY>
        <TR>
          <TD vAlign=3Dtop width=3D"100%">
            <TABLE style=3D"BORDER-COLLAPSE: collapse" cellSpacing=3D0 =
cellPadding=3D3=20
            width=3D"100%" border=3D0>
              <TBODY>
              <TR>
                <TD width=3D"100%" bgColor=3D#000000>
                  <P align=3Dcenter><B><FONT=20
              color=3D#ffffff>VC=D3=EF=D1=D4</FONT></B></P></TD></TR>
              <TR>
                <TD width=3D"100%">
                  <P align=3Dcenter></P></TD></TR>
              <TR>
                <TD width=3D"100%" bgColor=3D#000000>
                  <P><IMG height=3D13=20
                  src=3D"http://www.moon-soft.com/doc/images/d_1.gif" =
width=3D13=20
                  align=3Dmiddle border=3D0><FONT color=3D#ffffff>=20
                =B1=BE=C0=E0=D4=C4=B6=C1TOP10</FONT></P></TD></TR>
              <TR>
                <TD width=3D"100%">=A1=A4<A=20
                  href=3D"http://www.moon-soft.com/doc/44487.htm">VC++=20
                  =D1=A7=CF=B0=B1=CA=BC=C7(=B6=FE)</A><BR>=A1=A4<A=20
                  =
href=3D"http://www.moon-soft.com/doc/45006.htm">=D3=C3Visual=20
                  C++=B4=F2=D4=ECIE=E4=AF=C0=C0=C6=F7(1)</A><BR>=A1=A4<A =

                  =
href=3D"http://www.moon-soft.com/doc/44559.htm">=C3=BF=B8=F6=BF=AA=B7=A2=C8=
=CB=D4=B1=CF=D6=D4=DA=D3=A6=B8=C3=CF=C2=D4=D8=B5=C4=CA=AE=D6=D6=B1=D8=B1=B8=
=B9=A4=BE=DF</A><BR>=A1=A4<A=20
                  =
href=3D"http://www.moon-soft.com/doc/44975.htm">=BD=CC=C4=E3=D3=C3VC6=D7=F6=
QQ=B6=D4=B6=D4=C5=F6=CD=E2=B9=D2=B3=CC=D0=F2</A><BR>=A1=A4<A=20
                  href=3D"http://www.moon-soft.com/doc/44453.htm">Netmsg =

                  =
=BE=D6=D3=F2=CD=F8=C1=C4=CC=EC=B3=CC=D0=F2</A><BR>=A1=A4<A=20
                  =
href=3D"http://www.moon-soft.com/doc/51433.htm">Windows=CF=FB=CF=A2=B4=F3=
=C8=AB</A><BR>=A1=A4<A=20
                  =
href=3D"http://www.moon-soft.com/doc/51434.htm">VC++=CF=C2=CA=B9=D3=C3ADO=
=B1=E0=D0=B4=CA=FD=BE=DD=BF=E2=B3=CC=D0=F2</A><BR>=A1=A4<A=20
                  =
href=3D"http://www.moon-soft.com/doc/44914.htm">VC++=D1=A7=CF=B0=B1=CA=BC=
=C7(=CB=C4)</A><BR>=A1=A4<A=20
                  =
href=3D"http://www.moon-soft.com/doc/44967.htm">=B7=C7=B7=A8=CC=BD=C8=A1=C3=
=DC=C2=EB=B5=C4=D4=AD=C0=ED=BC=B0=C6=E4=B7=C0=B7=B6</A><BR>=A1=A4<A=20
                  =
href=3D"http://www.moon-soft.com/doc/44966.htm">=D4=F5=D1=F9=D4=DAVC++=D6=
=D0=B7=C3=CE=CA=A1=A2=D0=DE=B8=C4=D7=A2=B2=E1=B1=ED</A><BR></TD></TR></TB=
ODY></TABLE><BR>
            <TABLE style=3D"BORDER-COLLAPSE: collapse" cellSpacing=3D0 =
cellPadding=3D3=20
            width=3D"100%" border=3D0>
              <TBODY>
              <TR>
                <TD width=3D"100%" bgColor=3D#111111><FONT =
color=3D#ffff00>=A1=FA</FONT>=20
                  <FONT =
color=3D#ffffff>=B7=D6=C0=E0=B5=BC=BA=BD</FONT></TD></TR>
              <TR>
                <TD width=3D"100%">
                  <TABLE cellSpacing=3D3 cellPadding=3D0 width=3D"99%" =
border=3D0>
                    <TBODY>
                    <TR align=3Dmiddle>
                      <TD width=3D"50%"><A=20
                        =
href=3D"http://www.moon-soft.com/doc/1_1.htm"><FONT=20
                        color=3D#000000>VC=D3=EF=D1=D4</FONT></A></TD>
                      <TD width=3D"50%"><A=20
                        =
href=3D"http://www.moon-soft.com/doc/2_1.htm"><FONT=20
                        color=3D#000000>Delphi</FONT></A></TD></TR>
                    <TR align=3Dmiddle>
                      <TD width=3D"50%"><A=20
                        =
href=3D"http://www.moon-soft.com/doc/3_1.htm"><FONT=20
                        color=3D#000000>VB=D3=EF=D1=D4</FONT></A></TD>
                      <TD width=3D"50%"><A=20
                        =
href=3D"http://www.moon-soft.com/doc/4_1.htm"><FONT=20
                        color=3D#000000>ASP</FONT></A></TD></TR>
                    <TR align=3Dmiddle>
                      <TD width=3D"50%"><A=20
                        =
href=3D"http://www.moon-soft.com/doc/5_1.htm"><FONT=20
                        color=3D#000000>Perl</FONT></A></TD>
                      <TD width=3D"50%"><A=20
                        =
href=3D"http://www.moon-soft.com/doc/6_1.htm"><FONT=20
                        color=3D#000000>Java</FONT></A></TD></TR>
                    <TR align=3Dmiddle>
                      <TD width=3D"50%"><A=20
                        =
href=3D"http://www.moon-soft.com/doc/7_1.htm"><FONT=20
                        color=3D#000000>Script</FONT></A></TD>
                      <TD width=3D"50%"><A=20
                        =
href=3D"http://www.moon-soft.com/doc/8_1.htm"><FONT=20
                        =
color=3D#000000>=CA=FD=BE=DD=BF=E2</FONT></A></TD></TR>
                    <TR align=3Dmiddle>
                      <TD width=3D"50%"><A=20
                        =
href=3D"http://www.moon-soft.com/doc/9_1.htm"><FONT=20
                        =
color=3D#000000>=C6=E4=CB=FB=D3=EF=D1=D4</FONT></A></TD>
                      <TD width=3D"50%"><A=20
                        =
href=3D"http://www.moon-soft.com/doc/10_1.htm"><FONT=20
                        =
color=3D#000000>=D3=CE=CF=B7=BF=AA=B7=A2</FONT></A></TD></TR>
                    <TR align=3Dmiddle>
                      <TD width=3D"50%"><A=20
                        =
href=3D"http://www.moon-soft.com/doc/11_1.htm"><FONT=20
                        =
color=3D#000000>=CE=C4=BC=FE=B8=F1=CA=BD</FONT></A></TD>
                      <TD width=3D"50%"><A=20
                        =
href=3D"http://www.moon-soft.com/doc/12_1.htm"><FONT=20
                        =
color=3D#000000>=CD=F8=D5=BE=D6=C6=D7=F7</FONT></A></TD></TR>
                    <TR align=3Dmiddle>
                      <TD width=3D"50%"><A=20
                        =
href=3D"http://www.moon-soft.com/doc/13_1.htm"><FONT=20
                        =
color=3D#000000>=C8=ED=BC=FE=B9=A4=B3=CC</FONT></A></TD>
                      <TD width=3D"50%"><A=20
                        =
href=3D"http://www.moon-soft.com/doc/14_1.htm"><FONT=20
                        =
color=3D#000000>.NET=BF=AA=B7=A2</FONT></A></TD></TR></TBODY></TABLE>
                  <TABLE cellSpacing=3D3 cellPadding=3D0 width=3D"99%" =
border=3D0>
                    <TBODY>
                    <TR align=3Dmiddle>
                      <TD>
                        <FORM action=3Dsearch.asp><INPUT=20
                        style=3D"BORDER-RIGHT: #42a5f7 1px dotted; =
BORDER-TOP: #42a5f7 1px dotted; BORDER-LEFT: #42a5f7 1px dotted; =
BORDER-BOTTOM: #42a5f7 1px dotted"=20
                        size=3D12 name=3Dk> <INPUT type=3Dimage=20
                        =
src=3D"http://www.moon-soft.com/doc/images/d_search.gif"=20
                        align=3DabsMiddle value=3Dsubmit =
border=3D0><INPUT type=3Dhidden=20
                        value=3Dinfo =
name=3Dtype></FORM></TD></TR></TBODY></TABLE>
                  <SCRIPT=20
                  =
src=3D"http://www.moon-soft.com/download/ads/js_ads_left.js"=20
                  type=3Dtext/javascript></SCRIPT>
                =
</TD></TR></TBODY></TABLE></TD></TR></TBODY></TABLE></TD>
    <TD vAlign=3Dtop width=3D8=20
    background=3Dhttp://www.moon-soft.com/doc/images/bg_shadow.gif=20
    bgColor=3D#ffffff></TD>
    <TD vAlign=3Dtop width=3D595 height=3D2>
      <TABLE style=3D"TABLE-LAYOUT: fixed; BORDER-COLLAPSE: collapse"=20
      cellSpacing=3D0 cellPadding=3D0 width=3D"100%" border=3D0>
        <TBODY>
        <TR>
          <TD class=3Darticle_title align=3Dmiddle =
height=3D30><B>=D2=BB=B8=F6=BA=C3=D3=C3=B5=C4=CF=DF=B3=CC=B3=D8</B></TD><=
/TR>
        <TR>
          <TD align=3Dmiddle width=3D"100%" bgColor=3D#888888 =
height=3D1></TD></TR>
        <TR>
          <TD width=3D"100%" height=3D2></TD></TR>
        <TR>
          <TD width=3D"100%" height=3D38>
            <P align=3Dcenter><B>=D7=F7=D5=DF</B>=A3=BA=CE=B4=D6=AA =
<B>=C0=B4=D4=B4</B>=A3=BA=D4=C2=B9=E2=C8=ED=BC=FE=D5=BE<!--=CE=B4=D6=AA--=
>=20
            =
<B>=BC=D3=C8=EB=CA=B1=BC=E4</B>=A3=BA2005-2-28=A1=A1=D4=C2=B9=E2=C8=ED=BC=
=FE=D5=BE</P></TD></TR>
        <TR>
          <TD vAlign=3Dtop width=3D"100%">
            <P>=C0=E0=B6=A8=D2=E5=C8=E7=CF=C2<BR><BR>// ThreadPoolImp.h: =
interface for the ThreadPoolImp=20
            =
class.<BR>//<BR>/////////////////////////////////////////////////////////=
/////////////</P>
            <P>#if=20
            =
!defined(AFX_THREADPOOLIMP_H__82F4FC7E_2DB4_4D2A_ACC8_2EFC787CAE42__INCLU=
DED_)<BR>#define=20
            =
AFX_THREADPOOLIMP_H__82F4FC7E_2DB4_4D2A_ACC8_2EFC787CAE42__INCLUDED_</P>
            <P>#if _MSC_VER &gt; 1000<BR>#pragma once<BR>#endif // =
_MSC_VER &gt;=20
            1000</P>
            <P><BR>#pragma warning( disable : 4705 4786)</P>
            <P>#include &lt;map&gt;<BR>#include "AutoLock.h"</P>
            <P>using namespace std;</P>
            <P>class IJobDesc;<BR>class IWorker;</P>
            <P>class CThreadPoolImp&nbsp; =
<BR>{<BR>public:<BR>&nbsp;class=20
            =
ThreadInfo<BR>&nbsp;{<BR>&nbsp;public:&nbsp;&nbsp;<BR>&nbsp;&nbsp;ThreadI=
nfo()=20
            { m_hThread=3D0; m_bBusyWorking=3Dfalse;=20
            }<BR>&nbsp;&nbsp;ThreadInfo(HANDLE handle, bool bBusy) {=20
            m_hThread=3Dhandle; m_bBusyWorking=3DbBusy;=20
            }<BR>&nbsp;&nbsp;ThreadInfo(const ThreadInfo&amp; info) {=20
            m_hThread=3Dinfo.m_hThread; =
m_bBusyWorking=3Dinfo.m_bBusyWorking;=20
            }<BR>&nbsp;////////<BR>&nbsp;&nbsp;HANDLE=20
            =
m_hThread;<BR>&nbsp;&nbsp;bool&nbsp;m_bBusyWorking;<BR>&nbsp;};</P>
            <P>&nbsp;typedef map&lt;DWORD,ThreadInfo&gt;=20
            ThreadInfoMap;<BR>&nbsp;typedef =
ThreadInfoMap::iterator&nbsp;=20
            Iterator_ThreadInfoMap;<BR>&nbsp;<BR>&nbsp;friend static =
unsigned=20
            int CThreadPoolImp::ManagerProc(void* p); <BR>&nbsp;friend =
static=20
            unsigned int CThreadPoolImp::WorkerProc(void*=20
            p);<BR>protected:<BR>&nbsp;enum ThreadPoolStatus { BUSY, =
IDLE,=20
            NORMAL };<BR>public:<BR>&nbsp;//interface to the=20
            outside<BR>&nbsp;void Start(unsigned short nStatic, unsigned =
short=20
            nmax);<BR>&nbsp;void Stop(bool bHash=3Dfalse);<BR>&nbsp;void =

            ProcessJob(IJobDesc* pJob, IWorker* pWorker) const;</P>
            <P>&nbsp;//constructor and=20
            destructor<BR>&nbsp;CThreadPoolImp();<BR>&nbsp;virtual=20
            ~CThreadPoolImp();</P>
            <P>protected:<BR>&nbsp;//interfaces public:<BR>&nbsp;HANDLE=20
            GetMgrIoPort() const { return m_hMgrIoPort; }<BR>&nbsp;UINT=20
            GetMgrWaitTime() const { return 1000; }<BR>&nbsp;HANDLE=20
            GetWorkerIoPort() const { return m_hWorkerIoPort; }</P>
            <P>private:<BR>&nbsp;static DWORD WINAPI ManagerProc(void*=20

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -